backout e7167007c083
authorMatt Mackall <mpm@selenic.com>
Thu, 12 Jul 2012 14:20:34 -0500
changeset 17150 3ac9592b7ab4
parent 17149 4b33422e2572
child 17151 986df5249b65
backout e7167007c083 This may have allowed unbounded I/O sizes with the current chunk retrieval code.
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