mercurial/store.py
branchstable
changeset 10577 d5bd1beff794
parent 10339 23e608f42f2c
child 11790 ba9957bcfb7c
--- a/mercurial/store.py	Wed Mar 03 16:00:02 2010 +0100
+++ b/mercurial/store.py	Wed Mar 03 14:50:35 2010 +0100
@@ -267,7 +267,9 @@
     def add(self, fn):
         if self.entries is None:
             self._load()
-        self.opener('fncache', 'ab').write(encodedir(fn) + '\n')
+        if fn not in self.entries:
+            self.opener('fncache', 'ab').write(encodedir(fn) + '\n')
+            self.entries.add(fn)
 
     def __contains__(self, fn):
         if self.entries is None:
@@ -290,9 +292,7 @@
         self.fncache = fnc
 
         def fncacheopener(path, mode='r', *args, **kw):
-            if (mode not in ('r', 'rb')
-                and path.startswith('data/')
-                and path not in fnc):
+            if mode not in ('r', 'rb') and path.startswith('data/'):
                 fnc.add(path)
             return op(hybridencode(path), mode, *args, **kw)
         self.opener = fncacheopener