diff -r c0ce60459d84 -r 9c07cff039bc mercurial/filemerge.py --- a/mercurial/filemerge.py Mon Sep 11 13:03:27 2017 -0700 +++ b/mercurial/filemerge.py Mon Sep 11 13:03:27 2017 -0700 @@ -666,6 +666,11 @@ onfailure = _("merging %s failed!\n") precheck = None + # If using deferred writes, must flush any deferred contents if running + # an external merge tool since it has arbitrary access to the working + # copy. + wctx.flushall() + toolconf = tool, toolpath, binary, symlink if mergetype == nomerge: