D627: filemerge: flush if using deferred writes when running a merge tool

phillco (Phil Cohen) phabricator at mercurial-scm.org
Thu Sep 7 12:32:15 EDT 2017


phillco updated this revision to Diff 1668.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D627?vs=1608&id=1668

REVISION DETAIL
  https://phab.mercurial-scm.org/D627

AFFECTED FILES
  mercurial/filemerge.py

CHANGE DETAILS

diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -666,6 +666,11 @@
         onfailure = _("merging %s failed!\n")
         precheck = None
 
+        # Must flush any deferred contents if running an external merge tool.
+        from . import context
+        if isinstance(wctx, context.overlayworkingctx):
+            wctx.flushall()
+
     toolconf = tool, toolpath, binary, symlink
 
     if mergetype == nomerge:



To: phillco, #hg-reviewers
Cc: martinvonz, mercurial-devel


More information about the Mercurial-devel mailing list