mercurial/localrepo.py
branchstable
changeset 16200 9d4a2942a732
parent 16198 fa8488565afd
child 16208 85db991780b7
child 16243 b9c4302310e5
--- a/mercurial/localrepo.py	Thu Mar 01 17:39:58 2012 +0200
+++ b/mercurial/localrepo.py	Thu Mar 01 17:39:58 2012 +0200
@@ -901,10 +901,13 @@
         rereads the dirstate. Use dirstate.invalidate() if you want to
         explicitly read the dirstate again (i.e. restoring it to a previous
         known good state).'''
-        try:
+        if 'dirstate' in self.__dict__:
+            for k in self.dirstate._filecache:
+                try:
+                    delattr(self.dirstate, k)
+                except AttributeError:
+                    pass
             delattr(self, 'dirstate')
-        except AttributeError:
-            pass
 
     def invalidate(self):
         for k in self._filecache: