mercurial/localrepo.py
changeset 45300 dc457177dbc1
parent 45204 ce9ee81df9ff
child 45301 dc283bc7e033
equal deleted inserted replaced
45299:e98f7c5babd7 45300:dc457177dbc1
  3313         requirements.add(NODEMAP_REQUIREMENT)
  3313         requirements.add(NODEMAP_REQUIREMENT)
  3314 
  3314 
  3315     return requirements
  3315     return requirements
  3316 
  3316 
  3317 
  3317 
       
  3318 def checkrequirementscompat(ui, requirements):
       
  3319     """ Checks compatibility of repository requirements enabled and disabled.
       
  3320 
       
  3321     Returns a set of requirements which needs to be dropped because dependend
       
  3322     requirements are not enabled. Also warns users about it """
       
  3323 
       
  3324     dropped = set()
       
  3325 
       
  3326     if b'store' not in requirements:
       
  3327         if bookmarks.BOOKMARKS_IN_STORE_REQUIREMENT in requirements:
       
  3328             ui.warn(
       
  3329                 _(
       
  3330                     b'ignoring enabled \'format.bookmarks-in-store\' config '
       
  3331                     b'beacuse it is incompatible with disabled '
       
  3332                     b'\'format.usestore\' config\n'
       
  3333                 )
       
  3334             )
       
  3335             dropped.add(bookmarks.BOOKMARKS_IN_STORE_REQUIREMENT)
       
  3336 
       
  3337     return dropped
       
  3338 
       
  3339 
  3318 def filterknowncreateopts(ui, createopts):
  3340 def filterknowncreateopts(ui, createopts):
  3319     """Filters a dict of repo creation options against options that are known.
  3341     """Filters a dict of repo creation options against options that are known.
  3320 
  3342 
  3321     Receives a dict of repo creation options and returns a dict of those
  3343     Receives a dict of repo creation options and returns a dict of those
  3322     options that we don't know how to handle.
  3344     options that we don't know how to handle.
  3387             % b', '.join(sorted(unknownopts)),
  3409             % b', '.join(sorted(unknownopts)),
  3388             hint=_(b'is a required extension not loaded?'),
  3410             hint=_(b'is a required extension not loaded?'),
  3389         )
  3411         )
  3390 
  3412 
  3391     requirements = newreporequirements(ui, createopts=createopts)
  3413     requirements = newreporequirements(ui, createopts=createopts)
       
  3414     requirements -= checkrequirementscompat(ui, requirements)
  3392 
  3415 
  3393     wdirvfs = vfsmod.vfs(path, expandpath=True, realpath=True)
  3416     wdirvfs = vfsmod.vfs(path, expandpath=True, realpath=True)
  3394 
  3417 
  3395     hgvfs = vfsmod.vfs(wdirvfs.join(b'.hg'))
  3418     hgvfs = vfsmod.vfs(wdirvfs.join(b'.hg'))
  3396     if hgvfs.exists():
  3419     if hgvfs.exists():