diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -1896,6 +1896,9 @@ class workingfilectx(committablefilectx) """wraps repo.wwrite""" self._repo.wwrite(self._path, data, flags) + def setflags(self, l, x): + self._repo.wvfs.setflags(self._path, l, x) + class workingcommitctx(workingctx): """A workingcommitctx object makes access to data related to the revision being committed convenient. diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -1291,7 +1291,7 @@ def applyupdates(repo, actions, wctx, mc progress(_updating, z, item=f, total=numupdates, unit=_files) flags, = args audit(f) - repo.wvfs.setflags(f, 'l' in flags, 'x' in flags) + wctx[f].setflags('l' in flags, 'x' in flags) updated += 1 # the ordering is important here -- ms.mergedriver will raise if the merge