mercurial/localrepo.py
changeset 19928 d1ac3790e10a
parent 19884 fc3fbca35085
child 20027 4b06b2a445a1
equal deleted inserted replaced
19927:76c83107a724 19928:d1ac3790e10a
   151                                              'dotencode'))
   151                                              'dotencode'))
   152     openerreqs = set(('revlogv1', 'generaldelta'))
   152     openerreqs = set(('revlogv1', 'generaldelta'))
   153     requirements = ['revlogv1']
   153     requirements = ['revlogv1']
   154     filtername = None
   154     filtername = None
   155 
   155 
       
   156     # a list of (ui, featureset) functions.
       
   157     # only functions defined in module of enabled extensions are invoked
   156     featuresetupfuncs = set()
   158     featuresetupfuncs = set()
   157 
   159 
   158     def _baserequirements(self, create):
   160     def _baserequirements(self, create):
   159         return self.requirements[:]
   161         return self.requirements[:]
   160 
   162 
   179         except IOError:
   181         except IOError:
   180             pass
   182             pass
   181 
   183 
   182         if self.featuresetupfuncs:
   184         if self.featuresetupfuncs:
   183             self.supported = set(self._basesupported) # use private copy
   185             self.supported = set(self._basesupported) # use private copy
       
   186             extmods = set(m.__name__ for n, m
       
   187                           in extensions.extensions(self.ui))
   184             for setupfunc in self.featuresetupfuncs:
   188             for setupfunc in self.featuresetupfuncs:
   185                 setupfunc(self.ui, self.supported)
   189                 if setupfunc.__module__ in extmods:
       
   190                     setupfunc(self.ui, self.supported)
   186         else:
   191         else:
   187             self.supported = self._basesupported
   192             self.supported = self._basesupported
   188 
   193 
   189         if not self.vfs.isdir():
   194         if not self.vfs.isdir():
   190             if create:
   195             if create: