diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -404,12 +404,6 @@ class changelog(revlog.revlog): self.filteredrevs = frozenset() self._copiesstorage = opener.options.get(b'copies-storage') - def parentrevs(self, rev): - """filtered version of revlog.parentrevs""" - if rev in self.filteredrevs: - raise error.FilteredIndexError(rev) - return super(changelog, self).parentrevs(rev) - def flags(self, rev): """filtered version of revlog.flags""" if rev in self.filteredrevs: diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -319,6 +319,12 @@ def wrapchangelog(unfichangelog, filtere raise error.FilteredIndexError(rev) return super(filteredchangelog, self).linkrev(rev) + def parentrevs(self, rev): + """filtered version of revlog.parentrevs""" + if rev in self.filteredrevs: + raise error.FilteredIndexError(rev) + return super(filteredchangelog, self).parentrevs(rev) + cl.__class__ = filteredchangelog return cl