--- a/mercurial/repoview.py Thu Apr 22 02:57:30 2021 +0200
+++ b/mercurial/repoview.py Sat Apr 24 15:46:39 2021 +0200
@@ -472,10 +472,12 @@
def newtype(base):
"""Create a new type with the repoview mixin and the given base class"""
- if base not in _filteredrepotypes:
+ cls = _filteredrepotypes.get(base)
+ if cls is not None:
+ return cls
- class filteredrepo(repoview, base):
- pass
+ class filteredrepo(repoview, base):
+ pass
- _filteredrepotypes[base] = filteredrepo
- return _filteredrepotypes[base]
+ _filteredrepotypes[base] = filteredrepo
+ return filteredrepo