# HG changeset patch # User Pierre-Yves David # Date 1338927239 -7200 # Node ID 8337bb3bb95800d27a8bf0b107f81d6429aaec9e # Parent bbd1adb262fd8939562b8338b13b0ed4e3628a2b Fix amend and relocate who picked phases data after extinct wher made secret diff -r bbd1adb262fd -r 8337bb3bb958 hgext/evolve.py --- a/hgext/evolve.py Tue Jun 05 21:52:44 2012 +0200 +++ b/hgext/evolve.py Tue Jun 05 22:13:59 2012 +0200 @@ -156,6 +156,8 @@ assert orig.p2().rev() == node.nullrev, 'no support yet' destbookmarks = repo.nodebookmarks(dest.node()) cmdutil.duplicatecopies(repo, orig.node(), dest.node()) + nodesrc = orig.node() + destphase = repo[nodesrc].phase() if rebase.rebasenode.func_code.co_argcount == 5: # rebasenode collapse argument was introduced by # d1afbf03e69a (2.3) @@ -165,9 +167,8 @@ rebase.rebasenode(repo, orig.node(), dest.node(), {node.nullrev: node.nullrev}) nodenew = rebase.concludenode(repo, orig.node(), dest.node(), node.nullid) - nodesrc = orig.node() + phases.retractboundary(repo, destphase, [nodenew]) repo.addobsolete(nodenew, nodesrc) - phases.retractboundary(repo, repo[nodesrc].phase(), [nodenew]) oldbookmarks = repo.nodebookmarks(nodesrc) for book in oldbookmarks: repo._bookmarks[book] = nodenew @@ -401,7 +402,7 @@ try: if not old.phase(): raise util.Abort(_("can not rewrite immutable changeset %s") % old) - + oldphase = old.phase() # commit current changes as update # code copied from commands.commit to avoid noisy messages ciopts = dict(opts) @@ -438,7 +439,7 @@ [old.p1().node(), old.p2().node()], opts) # reroute the working copy parent to the new changeset - phases.retractboundary(repo, old.phase(), [newid]) + phases.retractboundary(repo, oldphase, [newid]) repo.dirstate.setparents(newid, node.nullid) finally: