changeset 17995:a5d85476da6e

clfilter: ensure `branchcache` logic runs unfiltered The current branchcache construction is not aware of filtering. We keep the status quo, ensuring that the branch cache logic is computed as before: without any filtering.
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Mon, 26 Nov 2012 19:25:44 +0100
parents 8899bf48116a
children b3af182a1944
files mercurial/localrepo.py
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/localrepo.py	Mon Nov 26 19:11:13 2012 +0100
+++ b/mercurial/localrepo.py	Mon Nov 26 19:25:44 2012 +0100
@@ -613,6 +613,7 @@
 
         return partial
 
+    @unfilteredmeth # Until we get a smarter cache management
     def updatebranchcache(self):
         tip = self.changelog.tip()
         if self._branchcache is not None and self._branchcachetip == tip:
@@ -665,6 +666,7 @@
             bt[bn] = self._branchtip(heads)
         return bt
 
+    @unfilteredmeth # Until we get a smarter cache management
     def _readbranchcache(self):
         partial = {}
         try:
@@ -697,6 +699,7 @@
             partial, last, lrev = {}, nullid, nullrev
         return partial, last, lrev
 
+    @unfilteredmeth # Until we get a smarter cache management
     def _writebranchcache(self, branches, tip, tiprev):
         try:
             f = self.opener("cache/branchheads", "w", atomictemp=True)
@@ -708,6 +711,7 @@
         except (IOError, OSError):
             pass
 
+    @unfilteredmeth # Until we get a smarter cache management
     def _updatebranchcache(self, partial, ctxgen):
         """Given a branchhead cache, partial, that may have extra nodes or be
         missing heads, and a generator of nodes that are at least a superset of
@@ -1051,8 +1055,8 @@
 
         delcache('_tagscache')
 
-        self._branchcache = None # in UTF-8
-        self._branchcachetip = None
+        self.unfiltered()._branchcache = None # in UTF-8
+        self.unfiltered()._branchcachetip = None
         obsolete.clearobscaches(self)
 
     def invalidatedirstate(self):