mercurial/branchmap.py
changeset 18189 b9026ba002f6
parent 18188 46ed5226503a
child 18212 493778b5fe9f
--- a/mercurial/branchmap.py	Tue Jan 01 21:27:13 2013 +0100
+++ b/mercurial/branchmap.py	Mon Dec 24 03:21:15 2012 +0100
@@ -59,9 +59,9 @@
 
 
 def updatecache(repo):
-    repo = repo.unfiltered()  # Until we get a smarter cache management
     cl = repo.changelog
-    partial = repo._branchcache
+    filtername = repo.filtername
+    partial = repo._branchcaches.get(filtername)
 
     if partial is None or not partial.validfor(repo):
         partial = read(repo)
@@ -81,7 +81,7 @@
     if partial.tiprev < tiprev:
         ctxgen = (repo[r] for r in cl.revs(partial.tiprev + 1, tiprev))
         partial.update(repo, ctxgen)
-    repo._branchcache = partial
+    repo._branchcaches[repo.filtername] = partial
 
 class branchcache(dict):
     """A dict like object that hold branches heads cache"""