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/upload.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/upload.py')
| -rw-r--r-- | subcmds/upload.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/subcmds/upload.py b/subcmds/upload.py index 8d949bef..d0c028b9 100644 --- a/subcmds/upload.py +++ b/subcmds/upload.py | |||
| @@ -21,7 +21,7 @@ from typing import List | |||
| 21 | 21 | ||
| 22 | from command import DEFAULT_LOCAL_JOBS, InteractiveCommand | 22 | from command import DEFAULT_LOCAL_JOBS, InteractiveCommand |
| 23 | from editor import Editor | 23 | from editor import Editor |
| 24 | from error import UploadError | 24 | from error import UploadError, RepoExitError |
| 25 | from git_command import GitCommand | 25 | from git_command import GitCommand |
| 26 | from git_refs import R_HEADS | 26 | from git_refs import R_HEADS |
| 27 | from hooks import RepoHook | 27 | from hooks import RepoHook |
| @@ -31,6 +31,10 @@ from project import ReviewableBranch | |||
| 31 | _DEFAULT_UNUSUAL_COMMIT_THRESHOLD = 5 | 31 | _DEFAULT_UNUSUAL_COMMIT_THRESHOLD = 5 |
| 32 | 32 | ||
| 33 | 33 | ||
| 34 | class UploadExitError(RepoExitError): | ||
| 35 | """Indicates that there is an upload command error requiring a sys exit.""" | ||
| 36 | |||
| 37 | |||
| 34 | def _VerifyPendingCommits(branches: List[ReviewableBranch]) -> bool: | 38 | def _VerifyPendingCommits(branches: List[ReviewableBranch]) -> bool: |
| 35 | """Perform basic safety checks on the given set of branches. | 39 | """Perform basic safety checks on the given set of branches. |
| 36 | 40 | ||
| @@ -86,7 +90,7 @@ def _VerifyPendingCommits(branches: List[ReviewableBranch]) -> bool: | |||
| 86 | def _die(fmt, *args): | 90 | def _die(fmt, *args): |
| 87 | msg = fmt % args | 91 | msg = fmt % args |
| 88 | print("error: %s" % msg, file=sys.stderr) | 92 | print("error: %s" % msg, file=sys.stderr) |
| 89 | sys.exit(1) | 93 | raise UploadExitError(msg) |
| 90 | 94 | ||
| 91 | 95 | ||
| 92 | def _SplitEmails(values): | 96 | def _SplitEmails(values): |
| @@ -697,7 +701,7 @@ Gerrit Code Review: https://www.gerritcodereview.com/ | |||
| 697 | ) | 701 | ) |
| 698 | 702 | ||
| 699 | if have_errors: | 703 | if have_errors: |
| 700 | sys.exit(1) | 704 | raise branch.error |
| 701 | 705 | ||
| 702 | def _GetMergeBranch(self, project, local_branch=None): | 706 | def _GetMergeBranch(self, project, local_branch=None): |
| 703 | if local_branch is None: | 707 | if local_branch is None: |
