From patchwork Fri Dec 13 22:57:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D7661: rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun From: phabricator X-Patchwork-Id: 43819 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Fri, 13 Dec 2019 22:57:26 +0000 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/D7661 AFFECTED FILES hgext/rebase.py tests/test-rebase-inmemory.t CHANGE DETAILS To: martinvonz, #hg-reviewers Cc: mercurial-devel 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_unique_argument(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_unique_argument(opts, b'confirm', b'dry-run') if action or repo.currenttransaction() is not None: