summaryrefslogtreecommitdiffstats
path: root/subcmds/upload.py
diff options
context:
space:
mode:
authorJason Chang <jasonnc@google.com>2023-08-03 14:38:00 -0700
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-08-07 23:56:07 +0000
commitf9aacd4087b02948da9a7878da48ea186ab99d5a (patch)
treeb683190635cd6fcb7cf817837ad0c4259b53078f /subcmds/upload.py
parentb8a7b4a629c3435d77a3266a4e6dce51dc342bd9 (diff)
downloadgit-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.py10
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
22from command import DEFAULT_LOCAL_JOBS, InteractiveCommand 22from command import DEFAULT_LOCAL_JOBS, InteractiveCommand
23from editor import Editor 23from editor import Editor
24from error import UploadError 24from error import UploadError, RepoExitError
25from git_command import GitCommand 25from git_command import GitCommand
26from git_refs import R_HEADS 26from git_refs import R_HEADS
27from hooks import RepoHook 27from 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
34class UploadExitError(RepoExitError):
35 """Indicates that there is an upload command error requiring a sys exit."""
36
37
34def _VerifyPendingCommits(branches: List[ReviewableBranch]) -> bool: 38def _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:
86def _die(fmt, *args): 90def _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
92def _SplitEmails(values): 96def _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: