Add pull_workspace_man_repo() to pull only the global manifest repository affiliated with a single workspace.
Signed-off-by: Ashley E Desimone <ashley.e.desim...@intel.com> Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> Cc: Puja Pandya <puja.pan...@intel.com> Cc: Erik Bjorge <erik.c.bjo...@intel.com> Cc: Bret Barkelew <bret.barke...@microsoft.com> Cc: Prince Agyeman <prince.agye...@intel.com> --- .../manifest_repos_maintenance.py | 23 ++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/edkrepo/common/workspace_maintenance/manifest_repos_maintenance.py b/edkrepo/common/workspace_maintenance/manifest_repos_maintenance.py index 7b3f866..7a7f946 100644 --- a/edkrepo/common/workspace_maintenance/manifest_repos_maintenance.py +++ b/edkrepo/common/workspace_maintenance/manifest_repos_maintenance.py @@ -199,7 +199,7 @@ def find_project_in_all_indices (project, edkrepo_cfg, edkrepo_user_cfg, except_ return repo, 'edkrepo_user_cfg', os.path.join(dirpath, project) -def find_source_man_repo (project_manifest, edkrepo_cfg, edkrepo_user_cfg): +def find_source_man_repo(project_manifest, edkrepo_cfg, edkrepo_user_cfg, man_repo=None): ''' Finds the source manifest repo for a given project. ''' @@ -213,6 +213,25 @@ def find_source_man_repo (project_manifest, edkrepo_cfg, edkrepo_user_cfg): humble.SOURCE_MAN_REPO_NOT_FOUND.format(project_manifest.project_info.codename), man_repo=None) project_manifest.write_source_manifest_repo(src_man_repo) - return src_man_repo + return src_man_repo + +def pull_workspace_man_repo(project_manifest, edkrepo_cfg, edkrepo_user_cfg, man_repo=None, reset_hard=False): + ''' + Pulls only the global manifest repo for the current workspace. + ''' + src_man_repo = find_source_man_repo(project_manifest, edkrepo_cfg, edkrepo_user_cfg, man_repo) + config_repos, user_config_repos, conflicts = list_available_man_repos(edkrepo_cfg, edkrepo_user_cfg) + if src_man_repo in config_repos: + pull_single_manifest_repo(edkrepo_cfg.get_manifest_repo_url(src_man_repo), + edkrepo_cfg.get_manifest_repo_branch(src_man_repo), + edkrepo_cfg.get_manifest_repo_local_path(src_man_repo), + reset_hard) + elif src_man_repo in user_config_repos: + pull_single_manifest_repo(edkrepo_user_cfg.get_manifest_repo_url(src_man_repo), + edkrepo_user_cfg.get_manifest_repo_branch(src_man_repo), + edkrepo_user_cfg.get_manifest_repo_local_path(src_man_repo), + reset_hard) + elif src_man_repo in conflicts: + raise EdkrepoInvalidParametersException(humble.CONFLICT_NO_CLONE.format(src_man_repo)) -- 2.16.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#58495): https://edk2.groups.io/g/devel/message/58495 Mute This Topic: https://groups.io/mt/73391739/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-