--- a/mercurial/repoview.py Tue Nov 05 14:11:30 2019 -0800
+++ b/mercurial/repoview.py Tue Nov 05 14:12:10 2019 -0800
@@ -21,6 +21,7 @@
obsolete,
phases,
pycompat,
+ revlog,
tags as tagsmod,
util,
)
@@ -233,6 +234,19 @@
"""filtered version of revlog.__contains__"""
return 0 <= rev < len(self) and rev not in self.filteredrevs
+ def __iter__(self):
+ """filtered version of revlog.__iter__"""
+ if len(self.filteredrevs) == 0:
+ return revlog.revlog.__iter__(self)
+
+
+ def filterediter():
+ for i in pycompat.xrange(len(self)):
+ if i not in self.filteredrevs:
+ yield i
+
+ return filterediter()
+
cl.__class__ = filteredchangelog
return cl