mercurial/localrepo.py
changeset 32331 bd872f64a8ba
parent 32307 c2380b448265
child 32332 0ad0d26ff703
equal deleted inserted replaced
32330:2959c3e986e0 32331:bd872f64a8ba
   111     """decorate method that always need to be run on unfiltered version"""
   111     """decorate method that always need to be run on unfiltered version"""
   112     def wrapper(repo, *args, **kwargs):
   112     def wrapper(repo, *args, **kwargs):
   113         return orig(repo.unfiltered(), *args, **kwargs)
   113         return orig(repo.unfiltered(), *args, **kwargs)
   114     return wrapper
   114     return wrapper
   115 
   115 
   116 moderncaps = set(('lookup', 'branchmap', 'pushkey', 'known', 'getbundle',
   116 moderncaps = {'lookup', 'branchmap', 'pushkey', 'known', 'getbundle',
   117                   'unbundle'))
   117               'unbundle'}
   118 legacycaps = moderncaps.union(set(['changegroupsubset']))
   118 legacycaps = moderncaps.union({'changegroupsubset'})
   119 
   119 
   120 class localpeer(peer.peerrepository):
   120 class localpeer(peer.peerrepository):
   121     '''peer for a local repo; reflects only the most recent API'''
   121     '''peer for a local repo; reflects only the most recent API'''
   122 
   122 
   123     def __init__(self, repo, caps=None):
   123     def __init__(self, repo, caps=None):
   245     def changegroupsubset(self, bases, heads, source):
   245     def changegroupsubset(self, bases, heads, source):
   246         return changegroup.changegroupsubset(self._repo, bases, heads, source)
   246         return changegroup.changegroupsubset(self._repo, bases, heads, source)
   247 
   247 
   248 class localrepository(object):
   248 class localrepository(object):
   249 
   249 
   250     supportedformats = set(('revlogv1', 'generaldelta', 'treemanifest',
   250     supportedformats = {'revlogv1', 'generaldelta', 'treemanifest',
   251                             'manifestv2'))
   251                         'manifestv2'}
   252     _basesupported = supportedformats | set(('store', 'fncache', 'shared',
   252     _basesupported = supportedformats | {'store', 'fncache', 'shared',
   253                                              'relshared', 'dotencode'))
   253                                          'relshared', 'dotencode'}
   254     openerreqs = set(('revlogv1', 'generaldelta', 'treemanifest', 'manifestv2'))
   254     openerreqs = {'revlogv1', 'generaldelta', 'treemanifest', 'manifestv2'}
   255     filtername = None
   255     filtername = None
   256 
   256 
   257     # a list of (ui, featureset) functions.
   257     # a list of (ui, featureset) functions.
   258     # only functions defined in module of enabled extensions are invoked
   258     # only functions defined in module of enabled extensions are invoked
   259     featuresetupfuncs = set()
   259     featuresetupfuncs = set()
  2018 
  2018 
  2019     Extensions can wrap this function to specify custom requirements for
  2019     Extensions can wrap this function to specify custom requirements for
  2020     new repositories.
  2020     new repositories.
  2021     """
  2021     """
  2022     ui = repo.ui
  2022     ui = repo.ui
  2023     requirements = set(['revlogv1'])
  2023     requirements = {'revlogv1'}
  2024     if ui.configbool('format', 'usestore', True):
  2024     if ui.configbool('format', 'usestore', True):
  2025         requirements.add('store')
  2025         requirements.add('store')
  2026         if ui.configbool('format', 'usefncache', True):
  2026         if ui.configbool('format', 'usefncache', True):
  2027             requirements.add('fncache')
  2027             requirements.add('fncache')
  2028             if ui.configbool('format', 'dotencode', True):
  2028             if ui.configbool('format', 'dotencode', True):