summaryrefslogtreecommitdiffstats
path: root/subcmds/sync.py
diff options
context:
space:
mode:
authorRaman Tenneti <rtenneti@google.com>2021-08-13 11:47:24 -0700
committerRaman Tenneti <rtenneti@google.com>2021-08-13 20:07:40 +0000
commitb55769a5c9422e0aac532e901a4d7b5af834b34d (patch)
tree3c19999b962d6f4e0de02e4585ae99c949d82117 /subcmds/sync.py
parent5637afcc60fdbd38fc0790ea84d5dcb901ec5959 (diff)
downloadgit-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.py14
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(