Mercurial > public > mercurial-scm > hg-stable
diff mercurial/repoview.py @ 43497:c093fb81404f
repoview: move changelog.__iter__() override to filteredchangelog
Differential Revision: https://phab.mercurial-scm.org/D7239
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 05 Nov 2019 14:12:10 -0800 |
parents | c470e699cd00 |
children | 5ade47284dda |
line wrap: on
line diff
--- 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