D3847: fix: disallow 'hg fix --base <rev> --whole'

hooper (Danny Hooper) phabricator at mercurial-scm.org
Fri Jun 29 17:52:31 EDT 2018


hooper updated this revision to Diff 9366.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D3847?vs=9319&id=9366

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

AFFECTED FILES
  hgext/fix.py
  tests/test-fix.t

CHANGE DETAILS

diff --git a/tests/test-fix.t b/tests/test-fix.t
--- a/tests/test-fix.t
+++ b/tests/test-fix.t
@@ -178,6 +178,9 @@
   abort: no changesets specified
   (use --rev or --working-dir)
   [255]
+  $ hg fix --base 0 --whole --working-dir
+  abort: --base has no meaning in addition to --whole
+  [255]
 
 Fixing a public revision isn't allowed. It should abort early enough that
 nothing happens, even to the working directory.
diff --git a/hgext/fix.py b/hgext/fix.py
--- a/hgext/fix.py
+++ b/hgext/fix.py
@@ -387,6 +387,8 @@
     # The --base flag overrides the usual logic, and we give every revision
     # exactly the set of baserevs that the user specified.
     if opts.get('base'):
+        if opts.get('whole'):
+            raise error.Abort('--base has no meaning in addition to --whole')
         baserevs = set(scmutil.revrange(repo, opts.get('base')))
         if not baserevs:
             baserevs = {nullrev}



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


More information about the Mercurial-devel mailing list