Mercurial > public > mercurial-scm > hg-stable
diff mercurial/commands.py @ 42579:b8d54f4625cb
merge: disallow merge abort in case of an unfinished operation (issue6160)
This patch disallows `hg merge --abort` in case an operation of higher
precedence i.e unshelve, rebase, histedit are in unfinished states.
This is done so as to avoid partial abort of these operations in case
merge abort is called at an interrupted step.
The patch adds a `cmdutil.getunfinishedstate` function which checks
for operations under progress and returns a `statecheck` object for it.
Differential Revision: https://phab.mercurial-scm.org/D6607
author | Taapas Agrawal <taapas2897@gmail.com> |
---|---|
date | Tue, 09 Jul 2019 12:58:29 +0300 |
parents | f9da9d5f3f5a |
children | eb7bd7d64a9d |
line wrap: on
line diff
--- a/mercurial/commands.py Mon Jul 08 15:01:18 2019 -0700 +++ b/mercurial/commands.py Tue Jul 09 12:58:29 2019 +0300 @@ -3952,6 +3952,10 @@ if abort and repo.dirstate.p2() == nullid: cmdutil.wrongtooltocontinue(repo, _('merge')) if abort: + state = cmdutil.getunfinishedstate(repo) + if state and state._opname != 'merge': + raise error.Abort(_('cannot abort merge with %s in progress') % + (state._opname), hint=state.hint()) if node: raise error.Abort(_("cannot specify a node with --abort")) if opts.get('rev'):