histedit: do not stay on a cleaned nodes on abort

There is case where nodes are neither in tmpnodes nor leaf but still get
removed. For example, if you used the "edit" action, made a commit and run
--abort. The commit you made is not tracked by histedit, yet it will likely be
cleaned up with its parent. The commit may not tracked because no replacements
computations are done in the --abort case.
This commit is contained in:
Pierre-Yves David 2015-08-03 06:13:05 -07:00
parent d31b5ec741
commit d7dbab10fd

View File

@ -791,7 +791,7 @@ def _histedit(ui, repo, state, *freeargs, **opts):
os.remove(backupfile)
# check whether we should update away
if repo.unfiltered().revs('parents() and (%n or %ln)',
if repo.unfiltered().revs('parents() and (%n or %ln::)',
state.parentctxnode, leafs | tmpnodes):
hg.clean(repo, state.topmost)
cleanupnode(ui, repo, 'created', tmpnodes)