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

login
register
mail settings
Submitter phabricator
Date June 29, 2018, 9:52 p.m.
Message ID <d181fb70c6178e4928d40f2f05666611@localhost.localdomain>
Download mbox | patch
Permalink /patch/32515/
State Not Applicable
Headers show

Comments

phabricator - June 29, 2018, 9:52 p.m.
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




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

Patch

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}