diff mercurial/dirstate.py @ 4373:109077e7048d

When reloading the dirstate, recompute ignore information if needed.
author Bryan O'Sullivan <bos@serpentine.com>
date Tue, 24 Apr 2007 12:02:51 -0700
parents 9edc2d6f7c10
children 30e7aa755efd
line wrap: on
line diff
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -231,6 +231,16 @@ class dirstate(object):
         except IOError, err:
             if err.errno != errno.ENOENT: raise
 
+    def reload(self):
+        def mtime():
+            m = self.map and self.map.get('.hgignore')
+            return m and m[-1]
+
+        old_mtime = self.ignorefunc and mtime()
+        self.read()
+        if old_mtime != mtime():
+            self.ignorefunc = None
+
     def copy(self, source, dest):
         self.lazyread()
         self.markdirty()