diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -1023,6 +1023,7 @@ if action: cmdutil.check_unique_argument(opts, b'confirm', b'dry-run', action) cmdutil.check_unique_argument(opts, b'confirm', b'dry-run') + cmdutil.check_unique_argument(opts, b'rev', b'source', b'base') if action or repo.currenttransaction() is not None: # in-memory rebase is not compatible with resuming rebases. @@ -1257,12 +1258,6 @@ # destspace is here to work around issues with `hg pull --rebase` see # issue5214 for details - if srcf and basef: - raise error.Abort(_(b'cannot specify both a source and a base')) - if revf and basef: - raise error.Abort(_(b'cannot specify both a revision and a base')) - if revf and srcf: - raise error.Abort(_(b'cannot specify both a revision and a source')) cmdutil.checkunfinished(repo) if not inmemory: diff --git a/tests/test-rebase-parameters.t b/tests/test-rebase-parameters.t --- a/tests/test-rebase-parameters.t +++ b/tests/test-rebase-parameters.t @@ -73,14 +73,14 @@ [255] $ hg rebase --base 5 --source 4 - abort: cannot specify both a source and a base + abort: cannot specify both --source and --base [255] $ hg rebase --rev 5 --source 4 - abort: cannot specify both a revision and a source + abort: cannot specify both --rev and --source [255] $ hg rebase --base 5 --rev 4 - abort: cannot specify both a revision and a base + abort: cannot specify both --rev and --base [255] $ hg rebase --base 6