changeset 41340:c9f1fd82a826

uncommit: mark old node obsolete after updating dirstate The next patch will start doing more things with the context object for the old node and that ran into problems without this change. Regardless of that, I think it seems better to first update to the new node and then mark the old node obsolete. Differential Revision: https://phab.mercurial-scm.org/D5660
author Martin von Zweigbergk <martinvonz@google.com>
date Sun, 20 Jan 2019 22:00:21 -0800
parents 7be231f5a4ad
children 19c590ce8661
files hgext/uncommit.py
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/uncommit.py	Fri Jan 18 17:09:42 2019 -0800
+++ b/hgext/uncommit.py	Sun Jan 20 22:00:21 2019 -0800
@@ -179,13 +179,13 @@
                 # Fully removed the old commit
                 mapping[old.node()] = ()
 
-            scmutil.cleanupnodes(repo, mapping, 'uncommit', fixphase=True)
-
             with repo.dirstate.parentchange():
                 repo.dirstate.setparents(newid, node.nullid)
                 s = old.p1().status(old, match=match)
                 _fixdirstate(repo, old, repo[newid], s)
 
+            scmutil.cleanupnodes(repo, mapping, 'uncommit', fixphase=True)
+
 def predecessormarkers(ctx):
     """yields the obsolete markers marking the given changeset as a successor"""
     for data in ctx.repo().obsstore.predecessors.get(ctx.node(), ()):