--- 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):