From 6a872c9daeec58dda61786e6f65591330709f6ad Mon Sep 17 00:00:00 2001 From: Raman Tenneti Date: Thu, 14 Jan 2021 19:17:50 -0800 Subject: sync: Added --use-superproject option and support for superproject. Added "--use-superporject" option to sync.py to fetch project SHAs from superproject. If there are any missing projects in superprojects, it prints the missing entries and exits. If there are no missing entries, it will use SHAs from superproject to fetch the projects from git. Tested the code with the following commands. $ ./run_tests tests/test_manifest_xml.py $ ./run_tests -v tests/test_git_superproject.py $ ./run_tests -v Tested the sync code by copying all the repo changes into my Android AOSP checkout and adding tag to default.xml. With local modification to the code to print the status, .../WORKING_DIRECTORY$ repo sync --use-superproject repo: executing 'git clone' url: sso://android/platform/superproject repo: executing 'git ls-tree' Success: [] Bug: https://crbug.com/gerrit/13709 Tested-by: Raman Tenneti Change-Id: Id18665992428dd684c04b0e0b3a52f46316873a0 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/293822 Reviewed-by: Mike Frysinger --- project.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'project.py') diff --git a/project.py b/project.py index 6c6534d8..17c75b4d 100644 --- a/project.py +++ b/project.py @@ -1197,6 +1197,9 @@ class Project(object): raise ManifestInvalidRevisionError('revision %s in %s not found' % (self.revisionExpr, self.name)) + def SetRevisionId(self, revisionId): + self.revisionId = revisionId + def Sync_LocalHalf(self, syncbuf, force_sync=False, submodules=False): """Perform only the local IO portion of the sync process. Network access is not required. -- cgit v1.2.3-54-g00ecf