revlog: fix heads performance regression
authorMatt Mackall <mpm@selenic.com>
Sun, 12 Oct 2008 15:21:08 -0500
changeset 7089 c57b30f1bc15
parent 7088 58b7b5ef6cd0
child 7090 7b5c063b0b94
revlog: fix heads performance regression
mercurial/revlog.py
--- a/mercurial/revlog.py	Sun Oct 12 15:21:08 2008 -0500
+++ b/mercurial/revlog.py	Sun Oct 12 15:21:08 2008 -0500
@@ -781,10 +781,10 @@
                 return [nullid]
             ishead = [1] * (count + 1)
             index = self.index
-            for r in self:
+            for r in xrange(count):
                 e = index[r]
                 ishead[e[5]] = ishead[e[6]] = 0
-            return [self.node(r) for r in self if ishead[r]]
+            return [self.node(r) for r in xrange(count) if ishead[r]]
 
         if start is None:
             start = nullid