rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Differential Revision: https://phab.mercurial-scm.org/D7661
--- a/hgext/rebase.py Fri Dec 13 14:49:48 2019 -0800
+++ b/hgext/rebase.py Fri Dec 13 14:50:42 2019 -0800
@@ -1022,10 +1022,10 @@
dryrun = opts.get(b'dry_run')
confirm = opts.get(b'confirm')
action = cmdutil.check_at_most_one_arg(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:
- raise error.Abort(_(b'cannot specify both --confirm and --%s') % action)
+ if action:
+ cmdutil.check_incompatible_arguments(
+ opts, action, b'confirm', b'dry_run'
+ )
cmdutil.check_at_most_one_arg(opts, b'confirm', b'dry_run')
if action or repo.currenttransaction() is not None:
--- a/tests/test-rebase-inmemory.t Fri Dec 13 14:49:48 2019 -0800
+++ b/tests/test-rebase-inmemory.t Fri Dec 13 14:50:42 2019 -0800
@@ -332,10 +332,10 @@
Make sure it throws error while passing --continue or --abort with --dry-run
$ hg rebase -s 2 -d 6 -n --continue
- abort: cannot specify both --dry-run and --continue
+ abort: cannot specify both --continue and --dry-run
[255]
$ hg rebase -s 2 -d 6 -n --abort
- abort: cannot specify both --dry-run and --abort
+ abort: cannot specify both --abort and --dry-run
[255]
Check dryrun gives correct results when there is no conflict in rebasing
@@ -548,10 +548,10 @@
abort: cannot specify both --confirm and --dry-run
[255]
$ hg rebase -s 2 -d . --confirm --abort
- abort: cannot specify both --confirm and --abort
+ abort: cannot specify both --abort and --confirm
[255]
$ hg rebase -s 2 -d . --confirm --continue
- abort: cannot specify both --confirm and --continue
+ abort: cannot specify both --continue and --confirm
[255]
Test --confirm option when there are no conflicts:
--- a/tests/test-rebase-obsolete.t Fri Dec 13 14:49:48 2019 -0800
+++ b/tests/test-rebase-obsolete.t Fri Dec 13 14:50:42 2019 -0800
@@ -2054,7 +2054,7 @@
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ hg rebase --stop --dry-run
- abort: cannot specify both --dry-run and --stop
+ abort: cannot specify both --stop and --dry-run
[255]
$ hg rebase -s 3 -d 5