[Request] [+ ] D10849: localrepo: introduce a clone_requirements function
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Wed Jun 9 14:38:50 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
This function take a source repository and return a relevant set of
requirements that should be used by a copy clone.
This will help make the creation of the destination repository during copy
clone simpler.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D10849
AFFECTED FILES
mercurial/localrepo.py
CHANGE DETAILS
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -3485,6 +3485,24 @@
return createopts
+def clone_requirements(ui, createopts, srcrepo):
+ """clone the requirements of a local repo for a local clone
+
+ The store requirements are unchanged while the working copy requirements
+ depends on the configuration
+ """
+ target_requirements = set()
+ createopts = defaultcreateopts(ui, createopts=createopts)
+ for r in newreporequirements(ui, createopts):
+ if r in requirementsmod.WORKING_DIR_REQUIREMENTS:
+ target_requirements.add(r)
+
+ for r in srcrepo.requirements:
+ if r not in requirementsmod.WORKING_DIR_REQUIREMENTS:
+ target_requirements.add(r)
+ return target_requirements
+
+
def newreporequirements(ui, createopts):
"""Determine the set of requirements for a new local repository.
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20210609/338a279a/attachment.html>
More information about the Mercurial-patches
mailing list