D7644: rebase: use cmdutil.check_unique_argument() for --auto-orphans
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Fri Dec 13 23:00:45 UTC 2019
martinvonz updated this revision to Diff 18714.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D7644?vs=18679&id=18714
BRANCH
default
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D7644/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D7644
AFFECTED FILES
hgext/rebase.py
tests/test-rebase-obsolete.t
CHANGE DETAILS
diff --git a/tests/test-rebase-obsolete.t b/tests/test-rebase-obsolete.t
--- a/tests/test-rebase-obsolete.t
+++ b/tests/test-rebase-obsolete.t
@@ -487,7 +487,7 @@
$ cp -R hidden stabilize
$ cd stabilize
$ hg rebase --auto-orphans '0::' -d 10
- abort: --auto-orphans is incompatible with --dest
+ abort: cannot specify both --auto_orphans and --dest
[255]
$ hg rebase --auto-orphans '0::'
rebasing 9:cf44d2f5a9f4 "D"
@@ -2054,7 +2054,7 @@
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ hg rebase --stop --dry-run
- abort: cannot specify both --dry-run and --stop
+ abort: cannot specify both --stop and --dry-run
[255]
$ hg rebase -s 3 -d 5
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -1034,11 +1034,11 @@
inmemory = False
if opts.get(b'auto_orphans'):
- for key in opts:
- if key != b'auto_orphans' and opts.get(key):
- raise error.Abort(
- _(b'--auto-orphans is incompatible with %s') % (b'--' + key)
- )
+ disallowed_opts = set(opts) - {b'auto_orphans'}
+ cmdutil.check_incompatible_arguments(
+ opts, b'auto_orphans', *disallowed_opts
+ )
+
userrevs = list(repo.revs(opts.get(b'auto_orphans')))
opts[b'rev'] = [revsetlang.formatspec(b'%ld and orphan()', userrevs)]
opts[b'dest'] = b'_destautoorphanrebase(SRC)'
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list