mercurial/commands.py
changeset 44434 2f290136b7d6
parent 44411 1e508097f570
child 44439 5a5aee8ba980
--- a/mercurial/commands.py	Fri Jan 17 21:22:23 2020 +0300
+++ b/mercurial/commands.py	Fri Jan 24 15:28:37 2020 -0800
@@ -876,7 +876,7 @@
         )
         overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
         with ui.configoverride(overrides, b'backout'):
-            return hg.merge(repo, hex(repo.changelog.tip()))
+            return hg.merge(repo[b'tip'])
     return 0
 
 
@@ -4878,7 +4878,7 @@
         node = opts.get(b'rev')
 
     if node:
-        node = scmutil.revsingle(repo, node).node()
+        ctx = scmutil.revsingle(repo, node)
     else:
         if ui.configbool(b'commands', b'merge.require-rev'):
             raise error.Abort(
@@ -4887,15 +4887,15 @@
                     b'with'
                 )
             )
-        node = repo[destutil.destmerge(repo)].node()
-
-    if node is None:
+        ctx = repo[destutil.destmerge(repo)]
+
+    if ctx.node() is None:
         raise error.Abort(_(b'merging with the working copy has no effect'))
 
     if opts.get(b'preview'):
         # find nodes that are ancestors of p2 but not of p1
         p1 = repo[b'.'].node()
-        p2 = node
+        p2 = ctx.node()
         nodes = repo.changelog.findmissing(common=[p1], heads=[p2])
 
         displayer = logcmdutil.changesetdisplayer(ui, repo, opts)
@@ -4909,7 +4909,7 @@
     with ui.configoverride(overrides, b'merge'):
         force = opts.get(b'force')
         labels = [b'working copy', b'merge rev']
-        return hg.merge(repo, node, force=force, labels=labels)
+        return hg.merge(ctx, force=force, labels=labels)
 
 
 statemod.addunfinished(