diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py --- a/mercurial/filemerge.py +++ b/mercurial/filemerge.py @@ -467,6 +467,12 @@ a = _workingpath(repo, fcd) fd = fcd.path() + # Run ``flushall()`` to make any missing folders the following wwrite + # calls might be depending on. + from . import context + if isinstance(fcd, context.overlayworkingfilectx): + fcd.ctx().flushall() + util.writefile(a + ".local", fcd.decodeddata()) repo.wwrite(fd + ".other", fco.data(), fco.flags()) repo.wwrite(fd + ".base", fca.data(), fca.flags())