# HG changeset patch # User Pierre-Yves David # Date 2021-12-07 13:51:45 # Node ID 7964a2dbde125b4cd45e226660711a6545a8e468 # Parent 5e6542143d40603fc2154a82d798b9681e5a5377 share: move the requirement initialisation code around We will make this logic more flexible in the next patch. We start by moving it at the end of the function without any other change for clarity. Differential Revision: https://phab.mercurial-scm.org/D11891 diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -3566,16 +3566,6 @@ def newreporequirements(ui, createopts): Extensions can wrap this function to specify custom requirements for new repositories. """ - # If the repo is being created from a shared repository, we copy - # its requirements. - if b'sharedrepo' in createopts: - requirements = set(createopts[b'sharedrepo'].requirements) - if createopts.get(b'sharedrelative'): - requirements.add(requirementsmod.RELATIVE_SHARED_REQUIREMENT) - else: - requirements.add(requirementsmod.SHARED_REQUIREMENT) - - return requirements if b'backend' not in createopts: raise error.ProgrammingError( @@ -3671,6 +3661,17 @@ def newreporequirements(ui, createopts): if ui.configbool(b'format', b'use-share-safe'): requirements.add(requirementsmod.SHARESAFE_REQUIREMENT) + # If the repo is being created from a shared repository, we copy + # its requirements. + if b'sharedrepo' in createopts: + requirements = set(createopts[b'sharedrepo'].requirements) + if createopts.get(b'sharedrelative'): + requirements.add(requirementsmod.RELATIVE_SHARED_REQUIREMENT) + else: + requirements.add(requirementsmod.SHARED_REQUIREMENT) + + return requirements + return requirements