share: move the requirement initialisation code around
authorPierre-Yves David <pierre-yves.david@octobus.net>
Tue, 07 Dec 2021 14:51:45 +0100
changeset 48504 7964a2dbde12
parent 48503 5e6542143d40
child 48505 bf2738e03e96
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
mercurial/localrepo.py
--- a/mercurial/localrepo.py	Wed Dec 08 05:35:32 2021 +0100
+++ b/mercurial/localrepo.py	Tue Dec 07 14:51:45 2021 +0100
@@ -3566,16 +3566,6 @@
     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 @@
     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