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 /manifest_xml.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 'manifest_xml.py')
-rw-r--r-- | manifest_xml.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/manifest_xml.py b/manifest_xml.py index 9cbdcd18..30e96584 100644 --- a/manifest_xml.py +++ b/manifest_xml.py | |||
@@ -34,6 +34,9 @@ MANIFEST_FILE_NAME = 'manifest.xml' | |||
34 | LOCAL_MANIFEST_NAME = 'local_manifest.xml' | 34 | LOCAL_MANIFEST_NAME = 'local_manifest.xml' |
35 | LOCAL_MANIFESTS_DIR_NAME = 'local_manifests' | 35 | LOCAL_MANIFESTS_DIR_NAME = 'local_manifests' |
36 | 36 | ||
37 | # Add all projects from local manifest into a group. | ||
38 | LOCAL_MANIFEST_GROUP_PREFIX = 'local:' | ||
39 | |||
37 | # ContactInfo has the self-registered bug url, supplied by the manifest authors. | 40 | # ContactInfo has the self-registered bug url, supplied by the manifest authors. |
38 | ContactInfo = collections.namedtuple('ContactInfo', 'bugurl') | 41 | ContactInfo = collections.namedtuple('ContactInfo', 'bugurl') |
39 | 42 | ||
@@ -679,7 +682,9 @@ https://gerrit.googlesource.com/git-repo/+/HEAD/docs/manifest-format.md | |||
679 | # Since local manifests are entirely managed by the user, allow | 682 | # Since local manifests are entirely managed by the user, allow |
680 | # them to point anywhere the user wants. | 683 | # them to point anywhere the user wants. |
681 | nodes.append(self._ParseManifestXml( | 684 | nodes.append(self._ParseManifestXml( |
682 | local, self.repodir, restrict_includes=False)) | 685 | local, self.repodir, |
686 | parent_groups=f'{LOCAL_MANIFEST_GROUP_PREFIX}:{local_file[:-4]}', | ||
687 | restrict_includes=False)) | ||
683 | except OSError: | 688 | except OSError: |
684 | pass | 689 | pass |
685 | 690 | ||