repoview: do not include filter name in name of proxy class
authorYuya Nishihara <yuya@tcha.org>
Tue, 05 Dec 2017 21:37:30 +0900
changeset 35247 9ce4e01f58ee
parent 35246 d73ccc63b8f9
child 35248 c752fbe228fb
repoview: do not include filter name in name of proxy class The type object is shared across all filters. I'll add __repr__() instead.
mercurial/localrepo.py
--- a/mercurial/localrepo.py	Tue Dec 05 21:31:01 2017 +0900
+++ b/mercurial/localrepo.py	Tue Dec 05 21:37:30 2017 +0900
@@ -688,11 +688,10 @@
         key = self.unfiltered().__class__
         if key not in self._filteredrepotypes:
             # Build a new type with the repoview mixin and the base
-            # class of this repo. Give it a name containing the
-            # filter name to aid debugging.
-            bases = (repoview.repoview, key)
-            cls = type(r'%sfilteredrepo' % name, bases, {})
-            self._filteredrepotypes[key] = cls
+            # class of this repo.
+            class filteredrepo(repoview.repoview, key):
+                pass
+            self._filteredrepotypes[key] = filteredrepo
 
         return self._filteredrepotypes[key](self, name)