diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -1022,12 +1022,9 @@ 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 dryrun and confirm: - raise error.Abort(_(b'cannot specify both --confirm and --dry-run')) + if action: + cmdutil.check_unique_argument(opts, b'confirm', b'dry-run', action) + cmdutil.check_unique_argument(opts, b'confirm', b'dry-run') if action or repo.currenttransaction() is not None: # in-memory rebase is not compatible with resuming rebases. diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -267,7 +267,7 @@ """ previous = None for x in args: - if opts.get(x): + if opts.get(x.replace(b'-', b'_')): if previous: raise error.Abort( _(b'cannot specify both --%s and --%s') % (previous, x)