rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 13 Dec 2019 14:50:42 -0800
changeset 43927 905b21783968
parent 43926 daed70e95d60
child 43928 0b769e1cbe89
rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun Differential Revision: https://phab.mercurial-scm.org/D7661
hgext/rebase.py
tests/test-rebase-inmemory.t
tests/test-rebase-obsolete.t
--- 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