# HG changeset patch # User Martin von Zweigbergk # Date 1576220632 28800 # Node ID 412f199b4092dd8a7dffbe959b34a39d7fd8ada1 # Parent 08b8bf4a8516bcee8ff1807f91104d4b2d1e6438 rebase: use cmdutil.check_incompatible_arguments() for --auto-orphans Differential Revision: https://phab.mercurial-scm.org/D7644 diff -r 08b8bf4a8516 -r 412f199b4092 hgext/rebase.py --- a/hgext/rebase.py Thu Dec 12 22:43:15 2019 -0800 +++ b/hgext/rebase.py Thu Dec 12 23:03:52 2019 -0800 @@ -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)' diff -r 08b8bf4a8516 -r 412f199b4092 tests/test-rebase-obsolete.t --- a/tests/test-rebase-obsolete.t Thu Dec 12 22:43:15 2019 -0800 +++ b/tests/test-rebase-obsolete.t Thu Dec 12 23:03:52 2019 -0800 @@ -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"