--- a/mercurial/filemerge.py Sat May 13 03:28:36 2017 +0900
+++ b/mercurial/filemerge.py Sat May 13 03:31:42 2017 +0900
@@ -458,7 +458,11 @@
perform a merge manually. If the file to be merged is named
``a.txt``, these files will accordingly be named ``a.txt.local``,
``a.txt.other`` and ``a.txt.base`` and they will be placed in the
- same directory as ``a.txt``."""
+ same directory as ``a.txt``.
+
+ This implies permerge. Therefore, files aren't dumped, if premerge
+ runs successfully. Use :forcedump to forcibly write files out.
+ """
a, b, c, back = files
fd = fcd.path()
@@ -468,6 +472,15 @@
repo.wwrite(fd + ".base", fca.data(), fca.flags())
return False, 1, False
+@internaltool('forcedump', mergeonly)
+def _forcedump(repo, mynode, orig, fcd, fco, fca, toolconf, files,
+ labels=None):
+ """
+ Creates three versions of the files as same as :dump, but omits premerge.
+ """
+ return _idump(repo, mynode, orig, fcd, fco, fca, toolconf, files,
+ labels=labels)
+
def _xmerge(repo, mynode, orig, fcd, fco, fca, toolconf, files, labels=None):
tool, toolpath, binary, symlink = toolconf
if fcd.isabsent() or fco.isabsent():