backout
e7167007c083
This may have allowed unbounded I/O sizes with the current chunk
retrieval code.
--- 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