mercurial/changelog.py
branchstable
changeset 17951 6f79c32c0bdf
parent 17810 2894d180afa1
child 18231 c0c943ef4e55
--- a/mercurial/changelog.py	Thu Nov 15 11:27:30 2012 -0600
+++ b/mercurial/changelog.py	Fri Nov 16 15:39:12 2012 -0800
@@ -134,9 +134,15 @@
 
     def __iter__(self):
         """filtered version of revlog.__iter__"""
-        for i in xrange(len(self)):
-            if i not in self.filteredrevs:
-                yield i
+        if len(self.filteredrevs) == 0:
+            return revlog.revlog.__iter__(self)
+
+        def filterediter():
+            for i in xrange(len(self)):
+                if i not in self.filteredrevs:
+                    yield i
+
+        return filterediter()
 
     def revs(self, start=0, stop=None):
         """filtered version of revlog.revs"""