D7647: bookmarks: use cmdutil.check_unique_argument() for action

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Fri Dec 13 02:57:09 EST 2019


martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REPOSITORY
  rHG Mercurial

BRANCH
  default

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

AFFECTED FILES
  mercurial/commands.py
  tests/test-bookmarks.t

CHANGE DETAILS

diff --git a/tests/test-bookmarks.t b/tests/test-bookmarks.t
--- a/tests/test-bookmarks.t
+++ b/tests/test-bookmarks.t
@@ -475,7 +475,7 @@
   $ cd repo
 
   $ hg bookmark -m Y -d Z
-  abort: --delete and --rename are incompatible
+  abort: cannot specify both --delete and --rename
   [255]
 
   $ hg bookmark -r 1 -d Z
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1226,13 +1226,9 @@
     rev = opts.get(b'rev')
     inactive = opts.get(b'inactive')  # meaning add/rename to inactive bookmark
 
-    selactions = [k for k in [b'delete', b'rename', b'list'] if opts.get(k)]
-    if len(selactions) > 1:
-        raise error.Abort(
-            _(b'--%s and --%s are incompatible') % tuple(selactions[:2])
-        )
-    if selactions:
-        action = selactions[0]
+    action = cmdutil.check_unique_argument(opts, b'delete', b'rename', b'list')
+    if action:
+        pass
     elif names or rev:
         action = b'add'
     elif inactive:



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


More information about the Mercurial-devel mailing list