diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py --- a/mercurial/filemerge.py +++ b/mercurial/filemerge.py @@ -348,9 +348,7 @@ return 0 if premerge not in validkeep: # restore from backup and try again - # TODO: Add a workingfilectx.write(otherfilectx) path so we can use - # util.copy here instead. - fcd.write(util.readfile(back), fcd.flags()) + _restorebackup(fcd, back) return 1 # continue merging def _mergecheck(repo, mynode, orig, fcd, fco, fca, toolconf): @@ -590,6 +588,11 @@ "o": " [%s]" % labels[1], } +def _restorebackup(fcd, back): + # TODO: Add a workingfilectx.write(otherfilectx) path so we can use + # util.copy here instead. + fcd.write(util.readfile(back), fcd.flags()) + def _makebackup(repo, ui, fcd, premerge): """Makes a backup of the local `fcd` file prior to merging.