mercurial/repoview.py
branchstable
changeset 47009 42eb8b7881b8
parent 46195 d6a9e690d620
child 47010 76ae43d5b1db
--- 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