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)')
@@ -3683,6 +3676,17 @@
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
+
def _evolvestatewrite(repo, data):
repo.vfs.write('evolvestate',
'|'.join([data['orig'], data['dest'], data['commitmsg']]))