--- a/mercurial/localrepo.py Wed Oct 02 21:16:40 2013 +0900
+++ b/mercurial/localrepo.py Thu Oct 17 21:45:17 2013 +0900
@@ -153,6 +153,8 @@
requirements = ['revlogv1']
filtername = None
+ # a list of (ui, featureset) functions.
+ # only functions defined in module of enabled extensions are invoked
featuresetupfuncs = set()
def _baserequirements(self, create):
@@ -181,8 +183,11 @@
if self.featuresetupfuncs:
self.supported = set(self._basesupported) # use private copy
+ extmods = set(m.__name__ for n, m
+ in extensions.extensions(self.ui))
for setupfunc in self.featuresetupfuncs:
- setupfunc(self.ui, self.supported)
+ if setupfunc.__module__ in extmods:
+ setupfunc(self.ui, self.supported)
else:
self.supported = self._basesupported