diff mercurial/revlog.py @ 10914:b7ca37b90762 stable

revlog: fix lazyparser.__iter__() to return all revisions (issue2137) Previously, it only returned revisions that were in the revlog when it was originally opened; revisions added since then were invisible. This broke revlog._partialmatch() and therefore repo.lookup(). (Credit to Benoit Boissinot for simplifying my original test script and for the actual fix.)
author Greg Ward <greg-hg@gerg.ca>
date Wed, 14 Apr 2010 15:06:40 -0400
parents f2ecc5733c89
children c9543bc6be16 9c84395a338e
line wrap: on
line diff
--- a/mercurial/revlog.py	Tue Apr 13 17:58:38 2010 -0400
+++ b/mercurial/revlog.py	Wed Apr 14 15:06:40 2010 -0400
@@ -294,8 +294,7 @@
         return key in self.p.map
     def __iter__(self):
         yield nullid
-        for i in xrange(self.p.l):
-            ret = self.p.index[i]
+        for i, ret in enumerate(self.p.index):
             if not ret:
                 self.p.loadindex(i)
                 ret = self.p.index[i]