[PATCH 2 of 2] rebase: add flag to require destination
Ryan McElroy
rm at fb.com
Sat Mar 11 21:03:13 EST 2017
# HG changeset patch
# User Ryan McElroy <rmcelroy at fb.com>
# Date 1489283611 28800
# Sat Mar 11 17:53:31 2017 -0800
# Node ID 7c7f442027b6a0cd51b1f06b01913f53f4f9e9cd
# Parent a788a4660443dfc33c5c1c58eec78e20150404d9
rebase: add flag to require destination
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -650,6 +650,16 @@ def rebase(ui, repo, **opts):
hg rebase -r "branch(featureX)" -d 1.3 --keepbranches
+ Configuration Options:
+
+ You can make rebase require a destination if you set the following config
+ option:
+
+ [rebase]
+ requiredest = False
+
+ Return Values:
+
Returns 0 on success, 1 if nothing to rebase or there are
unresolved conflicts.
@@ -663,6 +673,12 @@ def rebase(ui, repo, **opts):
# Validate input and define rebasing points
destf = opts.get('dest', None)
+
+ if ui.config('rebase', 'requiredest', False):
+ if not destf:
+ raise error.Abort(_('you must specify a destination'),
+ hint=_('use: hg rebase -d REV'))
+
srcf = opts.get('source', None)
basef = opts.get('base', None)
revf = opts.get('rev', [])
diff --git a/tests/test-rebase-base.t b/tests/test-rebase-base.t
--- a/tests/test-rebase-base.t
+++ b/tests/test-rebase-base.t
@@ -391,3 +391,25 @@ Multiple roots. Two children share two p
/
o 0: A
+Require a destination
+ $ cat >> $HGRCPATH <<EOF
+ > [rebase]
+ > requiredest = True
+ > EOF
+ $ hg init repo
+ $ cd repo
+ $ echo a >> a
+ $ hg commit -qAm aa
+ $ echo b >> b
+ $ hg commit -qAm bb
+ $ hg up ".^"
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ echo c >> c
+ $ hg commit -qAm cc
+ $ hg rebase
+ abort: you must specify a destination
+ (use: hg rebase -d REV)
+ [255]
+ $ hg rebase -d 1
+ rebasing 2:5db65b93a12b "cc" (tip)
+ saved backup bundle to $TESTTMP/repo/.hg/strip-backup/5db65b93a12b-4fb789ec-backup.hg (glob)
More information about the Mercurial-devel
mailing list