##// END OF EJS Templates
repoview: invalidate cached changelog if _delayed changes (issue4549)...
Matt Mackall -
r24154:a41902aa stable
parent child Browse files
Show More
@@ -274,7 +274,8 b' class repoview(object):'
274 unfichangelog = unfi.changelog
274 unfichangelog = unfi.changelog
275 revs = filterrevs(unfi, self.filtername)
275 revs = filterrevs(unfi, self.filtername)
276 cl = self._clcache
276 cl = self._clcache
277 newkey = (len(unfichangelog), unfichangelog.tip(), hash(revs))
277 newkey = (len(unfichangelog), unfichangelog.tip(), hash(revs),
278 unfichangelog._delayed)
278 if cl is not None:
279 if cl is not None:
279 # we need to check curkey too for some obscure reason.
280 # we need to check curkey too for some obscure reason.
280 # MQ test show a corruption of the underlying repo (in _clcache)
281 # MQ test show a corruption of the underlying repo (in _clcache)
@@ -282,7 +283,7 b' class repoview(object):'
282 oldfilter = cl.filteredrevs
283 oldfilter = cl.filteredrevs
283 try:
284 try:
284 cl.filteredrevs = () # disable filtering for tip
285 cl.filteredrevs = () # disable filtering for tip
285 curkey = (len(cl), cl.tip(), hash(oldfilter))
286 curkey = (len(cl), cl.tip(), hash(oldfilter), cl._delayed)
286 finally:
287 finally:
287 cl.filteredrevs = oldfilter
288 cl.filteredrevs = oldfilter
288 if newkey != self._clcachekey or newkey != curkey:
289 if newkey != self._clcachekey or newkey != curkey:
General Comments 0
You need to be logged in to leave comments. Login now