diff -r 6c5a6c2706f6 -r a94ce5400e1b hgext/evolve.py --- a/hgext/evolve.py Wed Apr 23 14:24:02 2014 -0700 +++ b/hgext/evolve.py Fri Apr 25 19:58:33 2014 -0500 @@ -753,7 +753,10 @@ destbookmarks = repo.nodebookmarks(dest.node()) nodesrc = orig.node() destphase = repo[nodesrc].phase() + wlock = lock = None try: + wlock = repo.wlock() + lock = repo.lock() r = rebase.rebasenode(repo, orig.node(), dest.node(), {node.nullrev: node.nullrev}, False) if r[-1]: #some conflict @@ -767,6 +770,8 @@ pass exc.__class__ = LocalMergeFailure raise + finally: + lockmod.release(lock, wlock) oldbookmarks = repo.nodebookmarks(nodesrc) if nodenew is not None: phases.retractboundary(repo, destphase, [nodenew])