bundlerepo: use _cacheabletip mechanism in bundlerepo
authorPierre-Yves David <pierre-yves.david@logilab.fr>
Thu, 20 Dec 2012 12:17:44 +0100
changeset 18115 6db318a15a12
parent 18114 35ce17796e0e
child 18116 bcee63733aad
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.
mercurial/bundlerepo.py
--- 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: