From patchwork Fri Jun 29 21:52:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D3847: fix: disallow 'hg fix --base --whole' From: phabricator X-Patchwork-Id: 32515 Message-Id: To: mercurial-devel@mercurial-scm.org Date: Fri, 29 Jun 2018 21:52:31 +0000 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 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}