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.
--- 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: