mercurial/filemerge.py
changeset 48431 6b1049d71c3e
parent 48430 921853391276
child 48432 f45a4a47f6a8
--- a/mercurial/filemerge.py	Fri Dec 03 16:21:46 2021 -0800
+++ b/mercurial/filemerge.py	Fri Dec 03 21:41:43 2021 -0800
@@ -1027,7 +1027,7 @@
                 util.unlink(d)
 
 
-def _filemerge(premerge, repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+def _filemerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
     """perform a 3-way merge in the working directory
 
     premerge = whether this is a premerge
@@ -1102,14 +1102,13 @@
         r, deleted = func(repo, mynode, orig, fcd, fco, fca, toolconf, labels)
         return True, r, deleted
 
-    if premerge:
-        if orig != fco.path():
-            ui.status(
-                _(b"merging %s and %s to %s\n")
-                % (uipathfn(orig), uipathfn(fco.path()), fduipath)
-            )
-        else:
-            ui.status(_(b"merging %s\n") % fduipath)
+    if orig != fco.path():
+        ui.status(
+            _(b"merging %s and %s to %s\n")
+            % (uipathfn(orig), uipathfn(fco.path()), fduipath)
+        )
+    else:
+        ui.status(_(b"merging %s\n") % fduipath)
 
     ui.debug(b"my %s other %s ancestor %s\n" % (fcd, fco, fca))
 
@@ -1122,7 +1121,7 @@
             ui.warn(onfailure % fduipath)
         return True, 1, False
 
-    back = _makebackup(repo, ui, wctx, fcd, premerge)
+    back = _makebackup(repo, ui, wctx, fcd, True)
     files = (None, None, None, back)
     r = 1
     try:
@@ -1140,7 +1139,7 @@
                 repo, fcd, fco, fca, labels, tool=tool
             )
 
-        if premerge and mergetype == fullmerge:
+        if mergetype == fullmerge:
             # conflict markers generated by premerge will use 'detailed'
             # settings if either ui.mergemarkers or the tool's mergemarkers
             # setting is 'detailed'. This way tools can have basic labels in
@@ -1160,8 +1159,9 @@
             r = _premerge(
                 repo, fcd, fco, fca, toolconf, files, labels=premergelabels
             )
-            # complete if premerge successful (r is 0)
-            return not r, r, False
+            # we're done if premerge was successful (r is 0)
+            if not r:
+                return not r, r, False
 
         needcheck, r, deleted = func(
             repo,
@@ -1278,14 +1278,7 @@
 
 
 def filemerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
-    complete, merge_ret, deleted = _filemerge(
-        True, repo, wctx, mynode, orig, fcd, fco, fca, labels=labels
-    )
-    if not complete:
-        complete, merge_ret, deleted = _filemerge(
-            False, repo, wctx, mynode, orig, fcd, fco, fca, labels=labels
-        )
-    return complete, merge_ret, deleted
+    return _filemerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=labels)
 
 
 def loadinternalmerge(ui, extname, registrarobj):