diff options
Diffstat (limited to 'subcmds/sync.py')
| -rw-r--r-- | subcmds/sync.py | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py index 74617544..ed656b8c 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
| @@ -282,7 +282,7 @@ later is required to fix a server side protocol bug. | |||
| 282 | """Returns True if current-branch or use-superproject options are enabled.""" | 282 | """Returns True if current-branch or use-superproject options are enabled.""" |
| 283 | return opt.current_branch_only or git_superproject.UseSuperproject(opt, self.manifest) | 283 | return opt.current_branch_only or git_superproject.UseSuperproject(opt, self.manifest) |
| 284 | 284 | ||
| 285 | def _UpdateProjectsRevisionId(self, opt, args, load_local_manifests): | 285 | def _UpdateProjectsRevisionId(self, opt, args, load_local_manifests, superproject_logging_data): |
| 286 | """Update revisionId of every project with the SHA from superproject. | 286 | """Update revisionId of every project with the SHA from superproject. |
| 287 | 287 | ||
| 288 | This function updates each project's revisionId with SHA from superproject. | 288 | This function updates each project's revisionId with SHA from superproject. |
| @@ -293,6 +293,7 @@ later is required to fix a server side protocol bug. | |||
| 293 | args: Arguments to pass to GetProjects. See the GetProjects | 293 | args: Arguments to pass to GetProjects. See the GetProjects |
| 294 | docstring for details. | 294 | docstring for details. |
| 295 | load_local_manifests: Whether to load local manifests. | 295 | load_local_manifests: Whether to load local manifests. |
| 296 | superproject_logging_data: A dictionary of superproject data that is to be logged. | ||
| 296 | 297 | ||
| 297 | Returns: | 298 | Returns: |
| 298 | Returns path to the overriding manifest file instead of None. | 299 | Returns path to the overriding manifest file instead of None. |
| @@ -312,6 +313,7 @@ later is required to fix a server side protocol bug. | |||
| 312 | submodules_ok=opt.fetch_submodules) | 313 | submodules_ok=opt.fetch_submodules) |
| 313 | update_result = superproject.UpdateProjectsRevisionId(all_projects) | 314 | update_result = superproject.UpdateProjectsRevisionId(all_projects) |
| 314 | manifest_path = update_result.manifest_path | 315 | manifest_path = update_result.manifest_path |
| 316 | superproject_logging_data['updatedrevisionid'] = bool(manifest_path) | ||
| 315 | if manifest_path: | 317 | if manifest_path: |
| 316 | self._ReloadManifest(manifest_path, load_local_manifests) | 318 | self._ReloadManifest(manifest_path, load_local_manifests) |
| 317 | else: | 319 | else: |
| @@ -964,8 +966,14 @@ later is required to fix a server side protocol bug. | |||
| 964 | self._UpdateManifestProject(opt, mp, manifest_name) | 966 | self._UpdateManifestProject(opt, mp, manifest_name) |
| 965 | 967 | ||
| 966 | load_local_manifests = not self.manifest.HasLocalManifests | 968 | load_local_manifests = not self.manifest.HasLocalManifests |
| 967 | if git_superproject.UseSuperproject(opt, self.manifest): | 969 | use_superproject = git_superproject.UseSuperproject(opt, self.manifest) |
| 968 | manifest_name = self._UpdateProjectsRevisionId(opt, args, load_local_manifests) or opt.manifest_name | 970 | superproject_logging_data = { |
| 971 | 'superproject': use_superproject, | ||
| 972 | 'haslocalmanifests': bool(self.manifest.HasLocalManifests), | ||
| 973 | } | ||
| 974 | if use_superproject: | ||
| 975 | manifest_name = self._UpdateProjectsRevisionId( | ||
| 976 | opt, args, load_local_manifests, superproject_logging_data) or opt.manifest_name | ||
| 969 | 977 | ||
| 970 | if self.gitc_manifest: | 978 | if self.gitc_manifest: |
| 971 | gitc_manifest_projects = self.GetProjects(args, | 979 | gitc_manifest_projects = self.GetProjects(args, |
| @@ -1079,6 +1087,15 @@ later is required to fix a server side protocol bug. | |||
| 1079 | file=sys.stderr) | 1087 | file=sys.stderr) |
| 1080 | sys.exit(1) | 1088 | sys.exit(1) |
| 1081 | 1089 | ||
| 1090 | # Log the previous sync analysis state from the config. | ||
| 1091 | self.git_event_log.LogConfigEvents(mp.config.GetSyncAnalysisStateData(), | ||
| 1092 | 'previous_sync_state') | ||
| 1093 | |||
| 1094 | # Update and log with the new sync analysis state. | ||
| 1095 | mp.config.UpdateSyncAnalysisState(opt, superproject_logging_data) | ||
| 1096 | self.git_event_log.LogConfigEvents(mp.config.GetSyncAnalysisStateData(), | ||
| 1097 | 'current_sync_state') | ||
| 1098 | |||
| 1082 | if not opt.quiet: | 1099 | if not opt.quiet: |
| 1083 | print('repo sync has finished successfully.') | 1100 | print('repo sync has finished successfully.') |
| 1084 | 1101 | ||
