site

(Pierre-Yves David)
2011-12-19: Properly inherit phase of relocated changeset.

Properly inherit phase of relocated changeset.

diff --git a/hgext/evolution.py b/hgext/evolution.py
--- a/hgext/evolution.py
+++ b/hgext/evolution.py
@@ -130,6 +130,7 @@ def relocate(repo, rev, dest):
         nodenew = rebase.concludenode(repo, rev, dest, node.nullid)
         nodesrc = repo.changelog.node(rev)
         repo.addobsolete(nodenew, nodesrc)
+        repo.setstate(repo.nodestate(nodesrc), [nodenew])
         oldbookmarks = repo.nodebookmarks(nodesrc)
         for book in oldbookmarks:
             repo._bookmarks[book] = nodenew
@@ -293,6 +294,7 @@ def amend(ui, repo, *pats, **opts):
                         [old.p1().node(), old.p2().node()], opts)
 
         # reroute the working copy parent to the new changeset
+        repo.setstate(repo.nodestate(old.node()), [newid])
         repo.dirstate.setparents(newid, node.nullid)
 
     finally: