# HG changeset patch # User Matt Mackall # Date 1342120834 18000 # Node ID 3ac9592b7ab432e1470ec97d19c9b7c58c3fda86 # Parent 4b33422e2572ca93e991195d93b7fe44896c2bd1 backout e7167007c083 This may have allowed unbounded I/O sizes with the current chunk retrieval code. diff -r 4b33422e2572 -r 3ac9592b7ab4 mercurial/revlog.py --- a/mercurial/revlog.py Thu Jul 12 13:33:53 2012 +0200 +++ b/mercurial/revlog.py Thu Jul 12 14:20:34 2012 -0500 @@ -320,15 +320,6 @@ rev = base base = index[rev][3] return base - def chainlength(self, rev): - index = self.index - base = index[rev][3] - length = index[rev][1] - while base != rev: - rev = base - base = index[rev][3] - length = length + index[rev][1] - return length def flags(self, rev): return self.index[rev][0] & 0xFFFF def rawsize(self, rev): @@ -1055,11 +1046,10 @@ chainbase = basecache[1] else: chainbase = self.chainbase(rev) + dist = l + offset - self.start(chainbase) if self._generaldelta: - dist = l + self.chainlength(rev) base = rev else: - dist = l + offset - self.start(chainbase) base = chainbase return dist, l, data, base, chainbase