diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -221,6 +221,12 @@ def filterrevs(repo, filtername, visibil def wrapchangelog(unfichangelog, filteredrevs): cl = copy.copy(unfichangelog) cl.filteredrevs = filteredrevs + + class filteredchangelog(cl.__class__): + pass + + cl.__class__ = filteredchangelog + return cl