[PATCH 06 of 16] branchmap: drop all remains of `_cacheabletip`
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Tue Jan 1 19:09:28 CST 2013
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
# Date 1356660678 -3600
# Node ID 42d39c8232de6b32d6e489329bf10656960ae8a7
# Parent 0e12b59cb6494470d08837d26d6b2753a34d8fea
branchmap: drop all remains of `_cacheabletip`
It does not have any user left.
diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py
--- a/mercurial/branchmap.py
+++ b/mercurial/branchmap.py
@@ -66,25 +66,15 @@ def updatecache(repo):
if partial is None or not partial.validfor(repo):
partial = read(repo)
if partial is None:
partial = branchcache()
- catip = repo._cacheabletip()
- # if partial.tiprev == catip: cache is already up to date
- # if partial.tiprev > catip: we have uncachable element in `partial` can't
- # write on disk
- if partial.tiprev < catip:
- ctxgen = (repo[r] for r in cl.revs(partial.tiprev + 1, catip))
+ revs = list(cl.revs(start=partial.tiprev +1))
+ if revs:
+ ctxgen = (repo[r] for r in revs)
partial.update(repo, ctxgen)
partial.write(repo)
- # If cacheable tip were lower than actual tip, we need to update the
- # cache up to tip. This update (from cacheable to actual tip) is not
- # written to disk since it's not cacheable.
- tiprev = cl.rev(cl.tip())
- if partial.tiprev < tiprev:
- ctxgen = (repo[r] for r in cl.revs(partial.tiprev + 1, tiprev))
- partial.update(repo, ctxgen)
repo._branchcaches[repo.filtername] = partial
class branchcache(dict):
"""A dict like object that hold branches heads cache"""
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -648,22 +648,10 @@ class localrepository(object):
for bookmark, n in self._bookmarks.iteritems():
if n == node:
marks.append(bookmark)
return sorted(marks)
- def _cacheabletip(self):
- """tip-most revision stable enought to used in persistent cache
-
- This function is overwritten by MQ to ensure we do not write cache for
- a part of the history that will likely change.
-
- Efficient handling of filtered revision in branchcache should offer a
- better alternative. But we are using this approach until it is ready.
- """
- cl = self.changelog
- return cl.rev(cl.tip())
-
def branchmap(self):
'''returns a dictionary {branch: [branchheads]}'''
if self.filtername and not self.changelog.filteredrevs:
return self.unfiltered().branchmap()
branchmap.updatecache(self)
More information about the Mercurial-devel
mailing list