diff -r 177742666abd -r 7e35d31b41fd mercurial/filemerge.py --- 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():