changeset 18115:6db318a15a12

bundlerepo: use _cacheabletip mechanism in bundlerepo Instead of preventing any cache write we allow writing cache for all content of the original repo. The motivation for this change is to drop the custom _writebranchcache of bundlerepo to help extraction of the branchmap logic out of localrepo.
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Thu, 20 Dec 2012 12:17:44 +0100
parents 35ce17796e0e
children bcee63733aad
files mercurial/bundlerepo.py
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/bundlerepo.py	Thu Dec 20 13:23:29 2012 +0100
+++ b/mercurial/bundlerepo.py	Thu Dec 20 12:17:44 2012 +0100
@@ -32,6 +32,7 @@
         self.bundle = bundle
         self.basemap = {}
         n = len(self)
+        self.disktiprev = n - 1
         chain = None
         self.bundlenodes = []
         while True:
@@ -284,9 +285,11 @@
     def getcwd(self):
         return os.getcwd() # always outside the repo
 
-    def _writebranchcache(self, branches, tip, tiprev):
-        # don't overwrite the disk cache with bundle-augmented data
-        pass
+    def _cacheabletip(self):
+        # we should not cache data from the bundle on disk
+        ret = super(bundlerepository, self)._cacheabletip()
+        return min(self.changelog.disktiprev, ret)
+
 
 def instance(ui, path, create):
     if create: