diff options
| author | Jason Chang <jasonnc@google.com> | 2023-08-03 14:38:00 -0700 |
|---|---|---|
| committer | LUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-08-07 23:56:07 +0000 |
| commit | f9aacd4087b02948da9a7878da48ea186ab99d5a (patch) | |
| tree | b683190635cd6fcb7cf817837ad0c4259b53078f /subcmds/init.py | |
| parent | b8a7b4a629c3435d77a3266a4e6dce51dc342bd9 (diff) | |
| download | git-repo-f9aacd4087b02948da9a7878da48ea186ab99d5a.tar.gz | |
Raise repo exit errors in place of sys.exit
Bug: b/293344017
Change-Id: I92d81c78eba8ff31b5252415f4c9a515a6c76411
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/381774
Tested-by: Jason Chang <jasonnc@google.com>
Reviewed-by: Joanna Wang <jojwang@google.com>
Commit-Queue: Jason Chang <jasonnc@google.com>
Diffstat (limited to 'subcmds/init.py')
| -rw-r--r-- | subcmds/init.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/subcmds/init.py b/subcmds/init.py index 6d7fd857..868d339e 100644 --- a/subcmds/init.py +++ b/subcmds/init.py | |||
| @@ -19,6 +19,8 @@ from color import Coloring | |||
| 19 | from command import InteractiveCommand, MirrorSafeCommand | 19 | from command import InteractiveCommand, MirrorSafeCommand |
| 20 | from git_command import git_require, MIN_GIT_VERSION_SOFT, MIN_GIT_VERSION_HARD | 20 | from git_command import git_require, MIN_GIT_VERSION_SOFT, MIN_GIT_VERSION_HARD |
| 21 | from wrapper import Wrapper | 21 | from wrapper import Wrapper |
| 22 | from error import UpdateManifestError | ||
| 23 | from error import RepoUnhandledExceptionError | ||
| 22 | 24 | ||
| 23 | _REPO_ALLOW_SHALLOW = os.environ.get("REPO_ALLOW_SHALLOW") | 25 | _REPO_ALLOW_SHALLOW = os.environ.get("REPO_ALLOW_SHALLOW") |
| 24 | 26 | ||
| @@ -156,7 +158,10 @@ to update the working directory files. | |||
| 156 | git_event_log=self.git_event_log, | 158 | git_event_log=self.git_event_log, |
| 157 | manifest_name=opt.manifest_name, | 159 | manifest_name=opt.manifest_name, |
| 158 | ): | 160 | ): |
| 159 | sys.exit(1) | 161 | manifest_name = opt.manifest_name |
| 162 | raise UpdateManifestError( | ||
| 163 | f"Unable to sync manifest {manifest_name}" | ||
| 164 | ) | ||
| 160 | 165 | ||
| 161 | def _Prompt(self, prompt, value): | 166 | def _Prompt(self, prompt, value): |
| 162 | print("%-10s [%s]: " % (prompt, value), end="", flush=True) | 167 | print("%-10s [%s]: " % (prompt, value), end="", flush=True) |
| @@ -346,14 +351,15 @@ to update the working directory files. | |||
| 346 | repo_verify=opt.repo_verify, | 351 | repo_verify=opt.repo_verify, |
| 347 | quiet=opt.quiet, | 352 | quiet=opt.quiet, |
| 348 | ) | 353 | ) |
| 349 | except wrapper.CloneFailure: | 354 | except wrapper.CloneFailure as e: |
| 350 | err_msg = "fatal: double check your --repo-rev setting." | 355 | err_msg = "fatal: double check your --repo-rev setting." |
| 351 | print( | 356 | print( |
| 352 | err_msg, | 357 | err_msg, |
| 353 | file=sys.stderr, | 358 | file=sys.stderr, |
| 354 | ) | 359 | ) |
| 355 | self.git_event_log.ErrorEvent(err_msg) | 360 | self.git_event_log.ErrorEvent(err_msg) |
| 356 | sys.exit(1) | 361 | raise RepoUnhandledExceptionError(e) |
| 362 | |||
| 357 | branch = rp.GetBranch("default") | 363 | branch = rp.GetBranch("default") |
| 358 | branch.merge = remote_ref | 364 | branch.merge = remote_ref |
| 359 | rp.work_git.reset("--hard", rev) | 365 | rp.work_git.reset("--hard", rev) |
