Comments
Patch
@@ -20,11 +20,11 @@ def read(repo):
try:
f = repo.opener(_filename(repo))
lines = f.read().split('\n')
f.close()
except (IOError, OSError):
- return branchcache()
+ return None
try:
cachekey = lines.pop(0).split(" ", 2)
last, lrev = cachekey[:2]
last, lrev = bin(last), int(lrev)
@@ -51,11 +51,11 @@ def read(repo):
msg = 'invalid branchheads cache'
if repo.filtername is not None:
msg += ' (%s)' % repo.filtername
msg += ': %s\n'
repo.ui.warn(msg % inst)
- partial = branchcache()
+ partial = None
return partial
def updatecache(repo):
@@ -63,10 +63,12 @@ def updatecache(repo):
filtername = repo.filtername
partial = repo._branchcaches.get(filtername)
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