diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -1025,6 +1025,7 @@ opts, action, b'confirm', b'dry_run' ) cmdutil.check_at_most_one_arg(opts, b'confirm', b'dry_run') + cmdutil.check_at_most_one_arg(opts, b'rev', b'source', b'base') if action or repo.currenttransaction() is not None: # in-memory rebase is not compatible with resuming rebases. @@ -1259,12 +1260,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