##// END OF EJS Templates
revlog: reuse cached delta for identical base revision (issue5975)...
Boris Feld -
r39631:a911932d default
parent child Browse files
Show More
@@ -832,9 +832,18 b' class deltacomputer(object):'
832 832
833 833 def _builddeltainfo(self, revinfo, base, fh):
834 834 # can we use the cached delta?
835 if revinfo.cachedelta and revinfo.cachedelta[0] == base:
836 delta = revinfo.cachedelta[1]
837 else:
835 delta = None
836 if revinfo.cachedelta:
837 cachebase, cachediff = revinfo.cachedelta
838 #check if the diff still apply
839 currentbase = cachebase
840 while (currentbase != nullrev
841 and currentbase != base
842 and self.revlog.length(currentbase) == 0):
843 currentbase = self.revlog.deltaparent(currentbase)
844 if currentbase == base:
845 delta = revinfo.cachedelta[1]
846 if delta is None:
838 847 delta = self._builddeltadiff(base, revinfo, fh)
839 848 revlog = self.revlog
840 849 header, data = revlog.compress(delta)
General Comments 0
You need to be logged in to leave comments. Login now