diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -405,10 +405,6 @@ class changelog(revlog.revlog): self.filteredrevs = frozenset() self._copiesstorage = opener.options.get(b'copies-storage') - def __contains__(self, rev): - """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: diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -229,6 +229,10 @@ def wrapchangelog(unfichangelog, filtere if i not in self.filteredrevs: return i + def __contains__(self, rev): + """filtered version of revlog.__contains__""" + return 0 <= rev < len(self) and rev not in self.filteredrevs + cl.__class__ = filteredchangelog return cl