From f9aacd4087b02948da9a7878da48ea186ab99d5a Mon Sep 17 00:00:00 2001 From: Jason Chang Date: Thu, 3 Aug 2023 14:38:00 -0700 Subject: 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 Reviewed-by: Joanna Wang Commit-Queue: Jason Chang --- subcmds/upload.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'subcmds/upload.py') 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 from command import DEFAULT_LOCAL_JOBS, InteractiveCommand from editor import Editor -from error import UploadError +from error import UploadError, RepoExitError from git_command import GitCommand from git_refs import R_HEADS from hooks import RepoHook @@ -31,6 +31,10 @@ from project import ReviewableBranch _DEFAULT_UNUSUAL_COMMIT_THRESHOLD = 5 +class UploadExitError(RepoExitError): + """Indicates that there is an upload command error requiring a sys exit.""" + + def _VerifyPendingCommits(branches: List[ReviewableBranch]) -> bool: """Perform basic safety checks on the given set of branches. @@ -86,7 +90,7 @@ def _VerifyPendingCommits(branches: List[ReviewableBranch]) -> bool: def _die(fmt, *args): msg = fmt % args print("error: %s" % msg, file=sys.stderr) - sys.exit(1) + raise UploadExitError(msg) def _SplitEmails(values): @@ -697,7 +701,7 @@ Gerrit Code Review: https://www.gerritcodereview.com/ ) if have_errors: - sys.exit(1) + raise branch.error def _GetMergeBranch(self, project, local_branch=None): if local_branch is None: -- cgit v1.2.3-54-g00ecf