mercurial/localrepo.py
changeset 39546 41aa5dced975
parent 39506 b66ea3fc3a86
child 39548 7ce9dea3a14a
equal deleted inserted replaced
39545:4afd2af36456 39546:41aa5dced975
   474             if engine.revlogheader():
   474             if engine.revlogheader():
   475                 self.supported.add('exp-compression-%s' % name)
   475                 self.supported.add('exp-compression-%s' % name)
   476 
   476 
   477         if not self.vfs.isdir():
   477         if not self.vfs.isdir():
   478             if create:
   478             if create:
   479                 self.requirements = newreporequirements(self)
   479                 self.requirements = newreporequirements(self.ui)
   480 
   480 
   481                 if not self.wvfs.exists():
   481                 if not self.wvfs.exists():
   482                     self.wvfs.makedirs()
   482                     self.wvfs.makedirs()
   483                 self.vfs.makedir(notindexed=True)
   483                 self.vfs.makedir(notindexed=True)
   484 
   484 
  2400                            intents=intents)
  2400                            intents=intents)
  2401 
  2401 
  2402 def islocal(path):
  2402 def islocal(path):
  2403     return True
  2403     return True
  2404 
  2404 
  2405 def newreporequirements(repo):
  2405 def newreporequirements(ui):
  2406     """Determine the set of requirements for a new local repository.
  2406     """Determine the set of requirements for a new local repository.
  2407 
  2407 
  2408     Extensions can wrap this function to specify custom requirements for
  2408     Extensions can wrap this function to specify custom requirements for
  2409     new repositories.
  2409     new repositories.
  2410     """
  2410     """
  2411     ui = repo.ui
       
  2412     requirements = {'revlogv1'}
  2411     requirements = {'revlogv1'}
  2413     if ui.configbool('format', 'usestore'):
  2412     if ui.configbool('format', 'usestore'):
  2414         requirements.add('store')
  2413         requirements.add('store')
  2415         if ui.configbool('format', 'usefncache'):
  2414         if ui.configbool('format', 'usefncache'):
  2416             requirements.add('fncache')
  2415             requirements.add('fncache')
  2442         requirements.remove('revlogv1')
  2441         requirements.remove('revlogv1')
  2443         # generaldelta is implied by revlogv2.
  2442         # generaldelta is implied by revlogv2.
  2444         requirements.discard('generaldelta')
  2443         requirements.discard('generaldelta')
  2445         requirements.add(REVLOGV2_REQUIREMENT)
  2444         requirements.add(REVLOGV2_REQUIREMENT)
  2446     # experimental config: format.internal-phase
  2445     # experimental config: format.internal-phase
  2447     if repo.ui.configbool('format', 'internal-phase'):
  2446     if ui.configbool('format', 'internal-phase'):
  2448         requirements.add('internal-phase')
  2447         requirements.add('internal-phase')
  2449 
  2448 
  2450     return requirements
  2449     return requirements