diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -781,10 +781,10 @@ class revlog(object): 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