mercurial/localrepo.py
changeset 48465 7964a2dbde12
parent 48295 bf11ff22a9af
child 48466 bf2738e03e96
equal deleted inserted replaced
48464:5e6542143d40 48465:7964a2dbde12
  3564     """Determine the set of requirements for a new local repository.
  3564     """Determine the set of requirements for a new local repository.
  3565 
  3565 
  3566     Extensions can wrap this function to specify custom requirements for
  3566     Extensions can wrap this function to specify custom requirements for
  3567     new repositories.
  3567     new repositories.
  3568     """
  3568     """
  3569     # If the repo is being created from a shared repository, we copy
       
  3570     # its requirements.
       
  3571     if b'sharedrepo' in createopts:
       
  3572         requirements = set(createopts[b'sharedrepo'].requirements)
       
  3573         if createopts.get(b'sharedrelative'):
       
  3574             requirements.add(requirementsmod.RELATIVE_SHARED_REQUIREMENT)
       
  3575         else:
       
  3576             requirements.add(requirementsmod.SHARED_REQUIREMENT)
       
  3577 
       
  3578         return requirements
       
  3579 
  3569 
  3580     if b'backend' not in createopts:
  3570     if b'backend' not in createopts:
  3581         raise error.ProgrammingError(
  3571         raise error.ProgrammingError(
  3582             b'backend key not present in createopts; '
  3572             b'backend key not present in createopts; '
  3583             b'was defaultcreateopts() called?'
  3573             b'was defaultcreateopts() called?'
  3668 
  3658 
  3669     # if share-safe is enabled, let's create the new repository with the new
  3659     # if share-safe is enabled, let's create the new repository with the new
  3670     # requirement
  3660     # requirement
  3671     if ui.configbool(b'format', b'use-share-safe'):
  3661     if ui.configbool(b'format', b'use-share-safe'):
  3672         requirements.add(requirementsmod.SHARESAFE_REQUIREMENT)
  3662         requirements.add(requirementsmod.SHARESAFE_REQUIREMENT)
       
  3663 
       
  3664     # If the repo is being created from a shared repository, we copy
       
  3665     # its requirements.
       
  3666     if b'sharedrepo' in createopts:
       
  3667         requirements = set(createopts[b'sharedrepo'].requirements)
       
  3668         if createopts.get(b'sharedrelative'):
       
  3669             requirements.add(requirementsmod.RELATIVE_SHARED_REQUIREMENT)
       
  3670         else:
       
  3671             requirements.add(requirementsmod.SHARED_REQUIREMENT)
       
  3672 
       
  3673         return requirements
  3673 
  3674 
  3674     return requirements
  3675     return requirements
  3675 
  3676 
  3676 
  3677 
  3677 def checkrequirementscompat(ui, requirements):
  3678 def checkrequirementscompat(ui, requirements):