changeset 17150:3ac9592b7ab4

backout e7167007c083 This may have allowed unbounded I/O sizes with the current chunk retrieval code.
author Matt Mackall <mpm@selenic.com>
date Thu, 12 Jul 2012 14:20:34 -0500
parents 4b33422e2572
children 986df5249b65
files mercurial/revlog.py
diffstat 1 files changed, 1 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- 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