282 if setupfunc.__module__ in extmods: |
282 if setupfunc.__module__ in extmods: |
283 setupfunc(self.ui, self.supported) |
283 setupfunc(self.ui, self.supported) |
284 else: |
284 else: |
285 self.supported = self._basesupported |
285 self.supported = self._basesupported |
286 |
286 |
|
287 # Add compression engines. |
|
288 for name in util.compengines: |
|
289 engine = util.compengines[name] |
|
290 if engine.revlogheader(): |
|
291 self.supported.add('exp-compression-%s' % name) |
|
292 |
287 if not self.vfs.isdir(): |
293 if not self.vfs.isdir(): |
288 if create: |
294 if create: |
289 self.requirements = newreporequirements(self) |
295 self.requirements = newreporequirements(self) |
290 |
296 |
291 if not self.wvfs.exists(): |
297 if not self.wvfs.exists(): |
394 # experimental config: format.aggressivemergedeltas |
400 # experimental config: format.aggressivemergedeltas |
395 aggressivemergedeltas = self.ui.configbool('format', |
401 aggressivemergedeltas = self.ui.configbool('format', |
396 'aggressivemergedeltas', False) |
402 'aggressivemergedeltas', False) |
397 self.svfs.options['aggressivemergedeltas'] = aggressivemergedeltas |
403 self.svfs.options['aggressivemergedeltas'] = aggressivemergedeltas |
398 self.svfs.options['lazydeltabase'] = not scmutil.gddeltaconfig(self.ui) |
404 self.svfs.options['lazydeltabase'] = not scmutil.gddeltaconfig(self.ui) |
|
405 |
|
406 for r in self.requirements: |
|
407 if r.startswith('exp-compression-'): |
|
408 self.svfs.options['compengine'] = r[len('exp-compression-'):] |
399 |
409 |
400 def _writerequirements(self): |
410 def _writerequirements(self): |
401 scmutil.writerequires(self.vfs, self.requirements) |
411 scmutil.writerequires(self.vfs, self.requirements) |
402 |
412 |
403 def _checknested(self, path): |
413 def _checknested(self, path): |
1992 if ui.configbool('format', 'usefncache', True): |
2002 if ui.configbool('format', 'usefncache', True): |
1993 requirements.add('fncache') |
2003 requirements.add('fncache') |
1994 if ui.configbool('format', 'dotencode', True): |
2004 if ui.configbool('format', 'dotencode', True): |
1995 requirements.add('dotencode') |
2005 requirements.add('dotencode') |
1996 |
2006 |
|
2007 compengine = ui.config('experimental', 'format.compression', 'zlib') |
|
2008 if compengine not in util.compengines: |
|
2009 raise error.Abort(_('compression engine %s defined by ' |
|
2010 'experimental.format.compression not available') % |
|
2011 compengine, |
|
2012 hint=_('run "hg debuginstall" to list available ' |
|
2013 'compression engines')) |
|
2014 |
|
2015 # zlib is the historical default and doesn't need an explicit requirement. |
|
2016 if compengine != 'zlib': |
|
2017 requirements.add('exp-compression-%s' % compengine) |
|
2018 |
1997 if scmutil.gdinitconfig(ui): |
2019 if scmutil.gdinitconfig(ui): |
1998 requirements.add('generaldelta') |
2020 requirements.add('generaldelta') |
1999 if ui.configbool('experimental', 'treemanifest', False): |
2021 if ui.configbool('experimental', 'treemanifest', False): |
2000 requirements.add('treemanifest') |
2022 requirements.add('treemanifest') |
2001 if ui.configbool('experimental', 'manifestv2', False): |
2023 if ui.configbool('experimental', 'manifestv2', False): |