diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -996,6 +996,7 @@ class localrepository(object): except AttributeError: pass self.invalidatecaches() + self.store.invalidatecaches() def invalidateall(self): '''Fully invalidates both store and non-store parts, causing the diff --git a/mercurial/store.py b/mercurial/store.py --- a/mercurial/store.py +++ b/mercurial/store.py @@ -340,6 +340,9 @@ class basicstore(object): def write(self, tr): pass + def invalidatecaches(self): + pass + def __contains__(self, path): '''Checks if the store contains path''' path = "/".join(("data", path)) @@ -489,6 +492,9 @@ class fncachestore(basicstore): def write(self, tr): self.fncache.write(tr) + def invalidatecaches(self): + self.fncache.entries = None + def _exists(self, f): ef = self.encode(f) try: