diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -404,12 +404,6 @@ self.filteredrevs = frozenset() self._copiesstorage = opener.options.get(b'copies-storage') - def strip(self, *args, **kwargs): - # XXX make something better than assert - # We can't expect proper strip behavior if we are filtered. - assert not self.filteredrevs - super(changelog, self).strip(*args, **kwargs) - def rev(self, node): """filtered version of revlog.rev""" r = super(changelog, self).rev(node) diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -287,6 +287,12 @@ revs = self._checknofilteredinrevs(revs) return super(filteredchangelog, self).headrevs(revs) + def strip(self, *args, **kwargs): + # XXX make something better than assert + # We can't expect proper strip behavior if we are filtered. + assert not self.filteredrevs + super(filteredchangelog, self).strip(*args, **kwargs) + cl.__class__ = filteredchangelog return cl