diff -r cc5f811b1f15 -r 19590b126764 mercurial/context.py --- a/mercurial/context.py Tue Sep 15 11:17:24 2020 -0700 +++ b/mercurial/context.py Tue Sep 15 16:10:16 2020 -0700 @@ -2528,6 +2528,7 @@ return path in self._cache def clean(self): + self._mergestate = None self._cache = {} def _compact(self): @@ -2592,6 +2593,11 @@ self._repo, path, parent=self, filelog=filelog ) + def mergestate(self, clean=False): + if clean or self._mergestate is None: + self._mergestate = mergestatemod.memmergestate(self._repo) + return self._mergestate + class overlayworkingfilectx(committablefilectx): """Wrap a ``workingfilectx`` but intercepts all writes into an in-memory