# HG changeset patch # User Pierre-Yves David # Date 1418521629 28800 # Node ID 58370c71818380754d2d028185d66cf772da8f38 # Parent 15492cea54e967c3d0928454d9b1ac1e0432e5d3 evolve: use `merge.graft` instead of `rebasenode` The core mechanism is properly factorised and have a more stable API. This is also a good step toward removing the dependency between evolve and the rebase extension. This also avoid a breakage with the future 3.3 where some of the rebase API changed. diff -r 15492cea54e9 -r 58370c718183 hgext/evolve.py --- a/hgext/evolve.py Mon Dec 08 12:45:32 2014 -0800 +++ b/hgext/evolve.py Sat Dec 13 17:47:09 2014 -0800 @@ -806,9 +806,10 @@ tr = repo.transaction('relocate') try: try: - r = rebase.rebasenode(repo, orig.node(), dest.node(), - {node.nullrev: node.nullrev}, False, - orig.p1().node()) + if repo['.'].rev() != dest.rev(): + merge.update(repo, dest, False, True, False) + r = merge.graft(repo, orig, orig.p1(), + ['local', 'graft']) if r[-1]: #some conflict raise util.Abort( 'unresolved merge conflicts (see hg help resolve)')