diff options
| -rw-r--r-- | git_superproject.py | 24 | ||||
| -rw-r--r-- | subcmds/init.py | 3 | ||||
| -rw-r--r-- | subcmds/sync.py | 8 |
3 files changed, 25 insertions, 10 deletions
diff --git a/git_superproject.py b/git_superproject.py index 1293f352..07bc2645 100644 --- a/git_superproject.py +++ b/git_superproject.py | |||
| @@ -415,16 +415,26 @@ def _UseSuperprojectFromConfiguration(): | |||
| 415 | return False | 415 | return False |
| 416 | 416 | ||
| 417 | 417 | ||
| 418 | def PrintMessages(opt, manifest): | 418 | def PrintMessages(use_superproject, manifest): |
| 419 | """Returns a boolean if error/warning messages are to be printed.""" | 419 | """Returns a boolean if error/warning messages are to be printed. |
| 420 | return opt.use_superproject is not None or bool(manifest.superproject) | 420 | |
| 421 | Args: | ||
| 422 | use_superproject: option value from optparse. | ||
| 423 | manifest: manifest to use. | ||
| 424 | """ | ||
| 425 | return use_superproject is not None or bool(manifest.superproject) | ||
| 421 | 426 | ||
| 422 | 427 | ||
| 423 | def UseSuperproject(opt, manifest): | 428 | def UseSuperproject(use_superproject, manifest): |
| 424 | """Returns a boolean if use-superproject option is enabled.""" | 429 | """Returns a boolean if use-superproject option is enabled. |
| 430 | |||
| 431 | Args: | ||
| 432 | use_superproject: option value from optparse. | ||
| 433 | manifest: manifest to use. | ||
| 434 | """ | ||
| 425 | 435 | ||
| 426 | if opt.use_superproject is not None: | 436 | if use_superproject is not None: |
| 427 | return opt.use_superproject | 437 | return use_superproject |
| 428 | else: | 438 | else: |
| 429 | client_value = manifest.manifestProject.use_superproject | 439 | client_value = manifest.manifestProject.use_superproject |
| 430 | if client_value is not None: | 440 | if client_value is not None: |
diff --git a/subcmds/init.py b/subcmds/init.py index 99f30dce..0388f5d1 100644 --- a/subcmds/init.py +++ b/subcmds/init.py | |||
| @@ -260,6 +260,9 @@ to update the working directory files. | |||
| 260 | if opt.use_superproject is not None: | 260 | if opt.use_superproject is not None: |
| 261 | self.OptionParser.error('--mirror and --use-superproject cannot be ' | 261 | self.OptionParser.error('--mirror and --use-superproject cannot be ' |
| 262 | 'used together.') | 262 | 'used together.') |
| 263 | if opt.archive and opt.use_superproject is not None: | ||
| 264 | self.OptionParser.error('--archive and --use-superproject cannot be used ' | ||
| 265 | 'together.') | ||
| 263 | 266 | ||
| 264 | if opt.standalone_manifest and (opt.manifest_branch or | 267 | if opt.standalone_manifest and (opt.manifest_branch or |
| 265 | opt.manifest_name != 'default.xml'): | 268 | opt.manifest_name != 'default.xml'): |
diff --git a/subcmds/sync.py b/subcmds/sync.py index 4d0a5ec6..3451ab6b 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
| @@ -286,7 +286,7 @@ later is required to fix a server side protocol bug. | |||
| 286 | True if a superproject is requested, otherwise the value of the | 286 | True if a superproject is requested, otherwise the value of the |
| 287 | current_branch option (True, False or None). | 287 | current_branch option (True, False or None). |
| 288 | """ | 288 | """ |
| 289 | return git_superproject.UseSuperproject(opt, self.manifest) or opt.current_branch_only | 289 | return git_superproject.UseSuperproject(opt.use_superproject, self.manifest) or opt.current_branch_only |
| 290 | 290 | ||
| 291 | def _UpdateProjectsRevisionId(self, opt, args, load_local_manifests, superproject_logging_data): | 291 | def _UpdateProjectsRevisionId(self, opt, args, load_local_manifests, superproject_logging_data): |
| 292 | """Update revisionId of every project with the SHA from superproject. | 292 | """Update revisionId of every project with the SHA from superproject. |
| @@ -306,7 +306,8 @@ later is required to fix a server side protocol bug. | |||
| 306 | """ | 306 | """ |
| 307 | superproject = self.manifest.superproject | 307 | superproject = self.manifest.superproject |
| 308 | superproject.SetQuiet(opt.quiet) | 308 | superproject.SetQuiet(opt.quiet) |
| 309 | print_messages = git_superproject.PrintMessages(opt, self.manifest) | 309 | print_messages = git_superproject.PrintMessages(opt.use_superproject, |
| 310 | self.manifest) | ||
| 310 | superproject.SetPrintMessages(print_messages) | 311 | superproject.SetPrintMessages(print_messages) |
| 311 | if opt.local_only: | 312 | if opt.local_only: |
| 312 | manifest_path = superproject.manifest_path | 313 | manifest_path = superproject.manifest_path |
| @@ -993,7 +994,8 @@ later is required to fix a server side protocol bug. | |||
| 993 | self._UpdateManifestProject(opt, mp, manifest_name) | 994 | self._UpdateManifestProject(opt, mp, manifest_name) |
| 994 | 995 | ||
| 995 | load_local_manifests = not self.manifest.HasLocalManifests | 996 | load_local_manifests = not self.manifest.HasLocalManifests |
| 996 | use_superproject = git_superproject.UseSuperproject(opt, self.manifest) | 997 | use_superproject = git_superproject.UseSuperproject(opt.use_superproject, |
| 998 | self.manifest) | ||
| 997 | if use_superproject and (self.manifest.IsMirror or self.manifest.IsArchive): | 999 | if use_superproject and (self.manifest.IsMirror or self.manifest.IsArchive): |
| 998 | # Don't use superproject, because we have no working tree. | 1000 | # Don't use superproject, because we have no working tree. |
| 999 | use_superproject = False | 1001 | use_superproject = False |
