diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1000,6 +1000,9 @@ class localrepository(object): self.sjoin('phaseroots')) self.invalidate() + # Discard all cache entries to force reloading everything. + self._filecache.clear() + parentgone = (parents[0] not in self.changelog.nodemap or parents[1] not in self.changelog.nodemap) if parentgone: @@ -1067,9 +1070,6 @@ class localrepository(object): pass self.invalidatecaches() - # Discard all cache entries to force reloading everything. - self._filecache.clear() - def _lock(self, lockname, wait, releasefn, acquirefn, desc): try: l = lock.lock(lockname, 0, releasefn, desc=desc) @@ -1503,6 +1503,9 @@ class localrepository(object): # tag cache retrieval" case to work. self.invalidatecaches() + # Discard all cache entries to force reloading everything. + self._filecache.clear() + def walk(self, match, node=None): ''' walk recursively through the directory tree or a given