mercurial/localrepo.py
changeset 17997 6089956e9880
parent 17996 b3af182a1944
child 17998 ec4c855d2033
--- a/mercurial/localrepo.py	Mon Nov 26 19:26:24 2012 +0100
+++ b/mercurial/localrepo.py	Mon Nov 26 19:22:12 2012 +0100
@@ -1075,16 +1075,17 @@
                     delattr(self.dirstate, k)
                 except AttributeError:
                     pass
-            delattr(self, 'dirstate')
+            delattr(self.unfiltered(), 'dirstate')
 
     def invalidate(self):
+        unfiltered = self.unfiltered() # all filecaches are stored on unfiltered
         for k in self._filecache:
             # dirstate is invalidated separately in invalidatedirstate()
             if k == 'dirstate':
                 continue
 
             try:
-                delattr(self, k)
+                delattr(unfiltered, k)
             except AttributeError:
                 pass
         self.invalidatecaches()
@@ -1489,6 +1490,7 @@
                 tr.release()
             lock.release()
 
+    @unfilteredmeth
     def destroyed(self, newheadnodes=None):
         '''Inform the repository that nodes have been destroyed.
         Intended for use by strip and rollback, so there's a common