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): |