diff options
author | Raman Tenneti <rtenneti@google.com> | 2021-08-13 11:47:24 -0700 |
---|---|---|
committer | Raman Tenneti <rtenneti@google.com> | 2021-08-13 20:07:40 +0000 |
commit | b55769a5c9422e0aac532e901a4d7b5af834b34d (patch) | |
tree | 3c19999b962d6f4e0de02e4585ae99c949d82117 /subcmds/sync.py | |
parent | 5637afcc60fdbd38fc0790ea84d5dcb901ec5959 (diff) | |
download | git-repo-b55769a5c9422e0aac532e901a4d7b5af834b34d.tar.gz |
superproject: print messages if the manifest has superproject tag.v2.16.5
1) If the manifest has superproject tag (git_master, etc), then
display error/warning messages (as it is doing today)
2) If the manifest doesn't have superproject tag (nest, chromeos
manifests), then don't display any error/warning messages about
superrproject (behave as though user has specified
--no-use-superproject).
3) Print error/warning messages if --use-superproject passed as
argument to repo sync.
4) No change in behavior for the repo init command.
git_superproject.py:
+ Fixed typo in _WriteManifestFile method name
+ Superproject accepts print_message as an argument and it defaults
to True. All messages that are printed to stderr are controlled by
this flag. If it is True, then messages get printed.
+ Added PrintMessages function which return true if either
--use-superproject is specified on the command line or if the
manifest has a superproject tag.
sync.py:
+ Displays the warning message if PrintMessgages are enabled and
passes that as argument to superproject object.
+ Added 'hassuperprojecttag' trace2 log entry for analysis. We can
find users/branches that are using superproject, but the manifest is
missing the superproject tag.
Tested:
$ ./run_tests
+ Verified printing of messages with and without superproject tag, with
with --use-superproject option.
+ aosp-master
$ repo_dev init --use-superproject -u https://android.googlesource.com/platform/manifest
$ repo_dev sync
+ A manifest without superproject tag.
$ repo_dev init -m $(pwd)/manifest_7482982.xml
$ repo_dev sync -n -c -j32 -m $(pwd)/manifest_7482982.xml
Bug: [google internal] b/196411099
Change-Id: I92166dcad15a4129fab82edcf869e7c8db3efd4b
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/314982
Reviewed-by: Xin Li <delphij@google.com>
Tested-by: Raman Tenneti <rtenneti@google.com>
Diffstat (limited to 'subcmds/sync.py')
-rw-r--r-- | subcmds/sync.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py index ed656b8c..2a0de0a9 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
@@ -298,10 +298,12 @@ later is required to fix a server side protocol bug. | |||
298 | Returns: | 298 | Returns: |
299 | Returns path to the overriding manifest file instead of None. | 299 | Returns path to the overriding manifest file instead of None. |
300 | """ | 300 | """ |
301 | print_messages = git_superproject.PrintMessages(opt, self.manifest) | ||
301 | superproject = git_superproject.Superproject(self.manifest, | 302 | superproject = git_superproject.Superproject(self.manifest, |
302 | self.repodir, | 303 | self.repodir, |
303 | self.git_event_log, | 304 | self.git_event_log, |
304 | quiet=opt.quiet) | 305 | quiet=opt.quiet, |
306 | print_messages=print_messages) | ||
305 | if opt.local_only: | 307 | if opt.local_only: |
306 | manifest_path = superproject.manifest_path | 308 | manifest_path = superproject.manifest_path |
307 | if manifest_path: | 309 | if manifest_path: |
@@ -317,10 +319,11 @@ later is required to fix a server side protocol bug. | |||
317 | if manifest_path: | 319 | if manifest_path: |
318 | self._ReloadManifest(manifest_path, load_local_manifests) | 320 | self._ReloadManifest(manifest_path, load_local_manifests) |
319 | else: | 321 | else: |
320 | print('warning: Update of revisionId from superproject has failed, ' | 322 | if print_messages: |
321 | 'repo sync will not use superproject to fetch the source. ', | 323 | print('warning: Update of revisionId from superproject has failed, ' |
322 | 'Please resync with the --no-use-superproject option to avoid this repo warning.', | 324 | 'repo sync will not use superproject to fetch the source. ', |
323 | file=sys.stderr) | 325 | 'Please resync with the --no-use-superproject option to avoid this repo warning.', |
326 | file=sys.stderr) | ||
324 | if update_result.fatal and opt.use_superproject is not None: | 327 | if update_result.fatal and opt.use_superproject is not None: |
325 | sys.exit(1) | 328 | sys.exit(1) |
326 | return manifest_path | 329 | return manifest_path |
@@ -970,6 +973,7 @@ later is required to fix a server side protocol bug. | |||
970 | superproject_logging_data = { | 973 | superproject_logging_data = { |
971 | 'superproject': use_superproject, | 974 | 'superproject': use_superproject, |
972 | 'haslocalmanifests': bool(self.manifest.HasLocalManifests), | 975 | 'haslocalmanifests': bool(self.manifest.HasLocalManifests), |
976 | 'hassuperprojecttag': bool(self.manifest.superproject), | ||
973 | } | 977 | } |
974 | if use_superproject: | 978 | if use_superproject: |
975 | manifest_name = self._UpdateProjectsRevisionId( | 979 | manifest_name = self._UpdateProjectsRevisionId( |