Mercurial > public > mercurial-scm > evolve
diff hgext/evolution.py @ 113:3bdabdbb4140
adapt evolution to phase in core.
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Mon, 19 Dec 2011 14:37:24 +0100 |
parents | 85271a8a7fb9 |
children | 64ca29eef349 |
line wrap: on
line diff
--- a/hgext/evolution.py Mon Dec 19 14:05:25 2011 +0100 +++ b/hgext/evolution.py Mon Dec 19 14:37:24 2011 +0100 @@ -16,6 +16,7 @@ from mercurial import extensions from mercurial import commands from mercurial import bookmarks +from mercurial import phases from mercurial import context from mercurial import util from mercurial.i18n import _ @@ -124,13 +125,13 @@ rebase = extensions.find('rebase') # dummy state to trick rebase node assert repo[rev].p2().rev() == node.nullrev, 'no support yet' - rebase.updatedirstate(repo, rev, repo[dest].node(), + cmdutil.duplicatecopies(repo, rev, repo[dest].node(), repo[rev].p2().node()) rebase.rebasenode(repo, rev, dest, {node.nullrev: node.nullrev}) nodenew = rebase.concludenode(repo, rev, dest, node.nullid) nodesrc = repo.changelog.node(rev) repo.addobsolete(nodenew, nodesrc) - repo.setstate(repo.nodestate(nodesrc), [nodenew]) + phases.retractboundary(repo, repo[nodesrc].phase(), [nodenew]) oldbookmarks = repo.nodebookmarks(nodesrc) for book in oldbookmarks: repo._bookmarks[book] = nodenew @@ -262,7 +263,7 @@ wlock = repo.wlock() try: - if not old.state().mutable: + if not old.phase(): raise util.Abort(_("can not rewrite immutable changeset %s") % old) # commit current changes as update @@ -294,7 +295,7 @@ [old.p1().node(), old.p2().node()], opts) # reroute the working copy parent to the new changeset - repo.setstate(repo.nodestate(old.node()), [newid]) + phases.retractboundary(repo, old.phase(), [newid]) repo.dirstate.setparents(newid, node.nullid) finally: