D7661: rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Mon Dec 16 18:20:27 EST 2019


martinvonz updated this revision to Diff 18768.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7661?vs=18711&id=18768

BRANCH
  default

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D7661/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D7661

AFFECTED FILES
  hgext/rebase.py
  tests/test-rebase-inmemory.t

CHANGE DETAILS

diff --git a/tests/test-rebase-inmemory.t b/tests/test-rebase-inmemory.t
--- a/tests/test-rebase-inmemory.t
+++ b/tests/test-rebase-inmemory.t
@@ -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:
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -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:



To: martinvonz, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list