Comments
Patch
@@ -942,14 +942,7 @@
tr = repo.transaction('relocate')
try:
try:
- if repo['.'].rev() != dest.rev():
- merge.update(repo, dest, False, True, False)
- if bmactive(repo):
- repo.ui.status(_("(leaving bookmark %s)\n") % bmactive(repo))
- bmdeactivate(repo)
- if keepbranch:
- repo.dirstate.setbranch(orig.branch())
- r = merge.graft(repo, orig, orig.p1(), ['local', 'graft'])
+ r = _evolvemerge(repo, orig, dest,keepbranch)
if r[-1]: #some conflict
raise error.Abort(
'unresolved merge conflicts (see hg help resolve)')
@@ -3692,3 +3685,14 @@
repo._bookmarks[book] = dest.node()
if oldbookmarks or destbookmarks:
repo._bookmarks.recordchange(tr)
+
+def _evolvemerge(repo, orig, dest, keepbranch):
+ if repo['.'].rev() != dest.rev():
+ merge.update(repo, dest, False, True, False)
+ if bmactive(repo):
+ repo.ui.status(_("(leaving bookmark %s)\n") % bmactive(repo))
+ bmdeactivate(repo)
+ if keepbranch:
+ repo.dirstate.setbranch(orig.branch())
+ r = merge.graft(repo, orig, orig.p1(), ['local', 'graft'])
+ return r