histedit: do not stay on a cleaned nodes on abort
authorPierre-Yves David <pierre-yves.david@fb.com>
Mon, 03 Aug 2015 06:13:05 -0700
changeset 25910 b4a85ddadcb9
parent 25909 e62839741aaa
child 25912 cbbdd085c991
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.
hgext/histedit.py
--- a/hgext/histedit.py	Mon Aug 03 06:11:45 2015 -0700
+++ b/hgext/histedit.py	Mon Aug 03 06:13:05 2015 -0700
@@ -791,7 +791,7 @@
             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)