Comments
Patch
@@ -61,7 +61,7 @@
[1]
$ hg rebase --continue --abort
- abort: cannot use --abort with --continue
+ abort: cannot specify both --abort and --continue
[255]
$ hg rebase --continue --collapse
@@ -2062,7 +2062,7 @@
(use 'hg rebase --continue' or 'hg rebase --abort')
[255]
$ hg rebase --stop --continue
- abort: cannot use --stop with --continue
+ abort: cannot specify both --stop and --continue
[255]
Test --stop moves bookmarks of original revisions to new rebased nodes:
@@ -261,7 +261,10 @@
def check_unique_argument(opts, *args):
- """abort if more than one of the arguments are in opts"""
+ """abort if more than one of the arguments are in opts
+
+ Returns the unique argument or None if none of them were specified.
+ """
previous = None
for x in args:
if opts.get(x):
@@ -270,6 +273,7 @@
_(b'cannot specify both --%s and --%s') % (previous, x)
)
previous = x
+ return previous
def resolvecommitoptions(ui, opts):
@@ -1021,12 +1021,7 @@
inmemory = ui.configbool(b'rebase', b'experimental.inmemory')
dryrun = opts.get(b'dry_run')
confirm = opts.get(b'confirm')
- selactions = [k for k in [b'abort', b'stop', b'continue'] if opts.get(k)]
- if len(selactions) > 1:
- raise error.Abort(
- _(b'cannot use --%s with --%s') % tuple(selactions[:2])
- )
- action = selactions[0] if selactions else None
+ action = cmdutil.check_unique_argument(opts, b'abort', b'stop', b'continue')
if dryrun and action:
raise error.Abort(_(b'cannot specify both --dry-run and --%s') % action)
if confirm and action: