equal
deleted
inserted
replaced
242 return changegroup.changegroup(self._repo, basenodes, source) |
242 return changegroup.changegroup(self._repo, basenodes, source) |
243 |
243 |
244 def changegroupsubset(self, bases, heads, source): |
244 def changegroupsubset(self, bases, heads, source): |
245 return changegroup.changegroupsubset(self._repo, bases, heads, source) |
245 return changegroup.changegroupsubset(self._repo, bases, heads, source) |
246 |
246 |
|
247 # Increment the sub-version when the revlog v2 format changes to lock out old |
|
248 # clients. |
|
249 REVLOGV2_REQUIREMENT = 'exp-revlogv2.0' |
|
250 |
247 class localrepository(object): |
251 class localrepository(object): |
248 |
252 |
249 supportedformats = { |
253 supportedformats = { |
250 'revlogv1', |
254 'revlogv1', |
251 'generaldelta', |
255 'generaldelta', |
252 'treemanifest', |
256 'treemanifest', |
253 'manifestv2', |
257 'manifestv2', |
|
258 REVLOGV2_REQUIREMENT, |
254 } |
259 } |
255 _basesupported = supportedformats | { |
260 _basesupported = supportedformats | { |
256 'store', |
261 'store', |
257 'fncache', |
262 'fncache', |
258 'shared', |
263 'shared', |
437 self.svfs.options['lazydeltabase'] = not scmutil.gddeltaconfig(self.ui) |
442 self.svfs.options['lazydeltabase'] = not scmutil.gddeltaconfig(self.ui) |
438 |
443 |
439 for r in self.requirements: |
444 for r in self.requirements: |
440 if r.startswith('exp-compression-'): |
445 if r.startswith('exp-compression-'): |
441 self.svfs.options['compengine'] = r[len('exp-compression-'):] |
446 self.svfs.options['compengine'] = r[len('exp-compression-'):] |
|
447 |
|
448 # TODO move "revlogv2" to openerreqs once finalized. |
|
449 if REVLOGV2_REQUIREMENT in self.requirements: |
|
450 self.svfs.options['revlogv2'] = True |
442 |
451 |
443 def _writerequirements(self): |
452 def _writerequirements(self): |
444 scmutil.writerequires(self.vfs, self.requirements) |
453 scmutil.writerequires(self.vfs, self.requirements) |
445 |
454 |
446 def _checknested(self, path): |
455 def _checknested(self, path): |
2068 if ui.configbool('experimental', 'treemanifest', False): |
2077 if ui.configbool('experimental', 'treemanifest', False): |
2069 requirements.add('treemanifest') |
2078 requirements.add('treemanifest') |
2070 if ui.configbool('experimental', 'manifestv2', False): |
2079 if ui.configbool('experimental', 'manifestv2', False): |
2071 requirements.add('manifestv2') |
2080 requirements.add('manifestv2') |
2072 |
2081 |
|
2082 revlogv2 = ui.config('experimental', 'revlogv2') |
|
2083 if revlogv2 == 'enable-unstable-format-and-corrupt-my-data': |
|
2084 requirements.remove('revlogv1') |
|
2085 # generaldelta is implied by revlogv2. |
|
2086 requirements.discard('generaldelta') |
|
2087 requirements.add(REVLOGV2_REQUIREMENT) |
|
2088 |
2073 return requirements |
2089 return requirements |