--- a/mercurial/filemerge.py Fri Jan 14 08:17:13 2022 -0800
+++ b/mercurial/filemerge.py Tue Jan 18 12:57:55 2022 -0800
@@ -411,7 +411,7 @@
raise error.Abort(msg)
-def _premerge(repo, local, other, base, toolconf, backup):
+def _premerge(repo, local, other, base, toolconf):
tool, toolpath, binary, symlink, scriptfn = toolconf
if symlink or local.fctx.isabsent() or other.fctx.isabsent():
return 1
@@ -445,15 +445,13 @@
merged_text, conflicts = simplemerge.simplemerge(
ui, local, base, other, mode=mode
)
- # fcd.flags() already has the merged flags (done in
- # mergestate.resolve())
- local.fctx.write(merged_text, local.fctx.flags())
+ if not conflicts or premerge in validkeep:
+ # fcd.flags() already has the merged flags (done in
+ # mergestate.resolve())
+ local.fctx.write(merged_text, local.fctx.flags())
if not conflicts:
ui.debug(b" premerge successful\n")
return 0
- if premerge not in validkeep:
- # restore from backup and try again
- _restorebackup(local.fctx, backup)
return 1 # continue merging
@@ -879,12 +877,6 @@
}
-def _restorebackup(fcd, backup):
- # TODO: Add a workingfilectx.write(otherfilectx) path so we can use
- # util.copy here instead.
- fcd.write(backup.data(), fcd.flags())
-
-
def _makebackup(repo, ui, wctx, fcd):
"""Makes and returns a filectx-like object for ``fcd``'s backup file.
@@ -1123,7 +1115,6 @@
other,
base,
toolconf,
- backup,
)
# we're done if premerge was successful (r is 0)
if not r: