diff options
author | Raman Tenneti <rtenneti@google.com> | 2021-06-07 13:27:37 -0700 |
---|---|---|
committer | Raman Tenneti <rtenneti@google.com> | 2021-06-10 00:16:36 +0000 |
commit | 78f4dd3138b774dfea9d789d7324b8857f5a1a58 (patch) | |
tree | 5ca78aed7acc28c17d1d763fc26b7c04a9129983 /git_superproject.py | |
parent | fc7aa90623e9dc08d81f1c62232e3e885c64559b (diff) | |
download | git-repo-78f4dd3138b774dfea9d789d7324b8857f5a1a58.tar.gz |
superproject: add projects from local manifest to local::<filename> group.
With repo sync --use-superproject, don't update the commit ids of every project
that comes from local manifest.
Tested the code with the following commands.
$ ./run_tests -v
+ Test with local.xml
1. repo init --use-superproject -u persistent-https://googleplex-android.git.corp.google.com/a/platform/manifest
2. cd .repo
cp -r /google/src/head/depot/google3/wireless/android/build_tools/translations/pipeline/local_manifests local_manifests
cd ..
local$ time repo_dev sync --use-superproject
NOTICE: --use-superproject is in beta; report any issues to the address described in `repo version`
.../local/.repo/exp-superproject/feb2c2847da5e274f3d530d5ab438af8-superproject.git: Initial setup for superproject completed.
...
Bug: [google internal] b/189360443
Bug: [google internal] b/189139268
Bug: https://crbug.com/gerrit/14499
Change-Id: Ideaf268c294e9b500b2b9726ffbd733dd8d63004
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/308822
Tested-by: Raman Tenneti <rtenneti@google.com>
Reviewed-by: Mike Frysinger <vapier@google.com>
Reviewed-by: Jonathan Nieder <jrn@google.com>
Diffstat (limited to 'git_superproject.py')
-rw-r--r-- | git_superproject.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/git_superproject.py b/git_superproject.py index dad6a3de..3c4144dd 100644 --- a/git_superproject.py +++ b/git_superproject.py | |||
@@ -28,6 +28,7 @@ import sys | |||
28 | 28 | ||
29 | from git_command import git_require, GitCommand | 29 | from git_command import git_require, GitCommand |
30 | from git_refs import R_HEADS | 30 | from git_refs import R_HEADS |
31 | from manifest_xml import LOCAL_MANIFEST_GROUP_PREFIX | ||
31 | 32 | ||
32 | _SUPERPROJECT_GIT_NAME = 'superproject.git' | 33 | _SUPERPROJECT_GIT_NAME = 'superproject.git' |
33 | _SUPERPROJECT_MANIFEST_NAME = 'superproject_override.xml' | 34 | _SUPERPROJECT_MANIFEST_NAME = 'superproject_override.xml' |
@@ -268,6 +269,9 @@ class Superproject(object): | |||
268 | path = project.relpath | 269 | path = project.relpath |
269 | if not path: | 270 | if not path: |
270 | continue | 271 | continue |
272 | # Skip the project if it comes from local manifest. | ||
273 | if any(s.startswith(LOCAL_MANIFEST_GROUP_PREFIX) for s in project.groups): | ||
274 | continue | ||
271 | commit_id = commit_ids.get(path) | 275 | commit_id = commit_ids.get(path) |
272 | if commit_id: | 276 | if commit_id: |
273 | project.SetRevisionId(commit_id) | 277 | project.SetRevisionId(commit_id) |