mercurial/localrepo.py
changeset 30818 4c0a5a256ae8
parent 30634 ad15646dc61c
child 30875 1791be8a95c5
equal deleted inserted replaced
30817:2b279126b8f5 30818:4c0a5a256ae8
   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):