From 1a3612fe6d347e458a53d7a9e920a91ea502e6ba Mon Sep 17 00:00:00 2001 From: Jason Chang Date: Tue, 8 Aug 2023 14:12:53 -0700 Subject: Raise RepoExitError in place of sys.exit Bug: b/293344017 Change-Id: Icae4932b00e4068cba502a5ab4a0274fd7854d9d Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/382214 Reviewed-by: Gavin Mak Tested-by: Jason Chang Reviewed-by: Aravind Vasudevan Commit-Queue: Jason Chang --- subcmds/selfupdate.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'subcmds/selfupdate.py') diff --git a/subcmds/selfupdate.py b/subcmds/selfupdate.py index d5d0a838..00376b66 100644 --- a/subcmds/selfupdate.py +++ b/subcmds/selfupdate.py @@ -18,6 +18,11 @@ import sys from command import Command, MirrorSafeCommand from subcmds.sync import _PostRepoUpgrade from subcmds.sync import _PostRepoFetch +from error import RepoExitError + + +class SelfupdateError(RepoExitError): + """Exit error for failed selfupdate command.""" class Selfupdate(Command, MirrorSafeCommand): @@ -58,9 +63,10 @@ need to be performed by an end-user. _PostRepoUpgrade(self.manifest) else: - if not rp.Sync_NetworkHalf().success: + result = rp.Sync_NetworkHalf() + if result.error: print("error: can't update repo", file=sys.stderr) - sys.exit(1) + raise SelfupdateError(aggregate_errors=[result.error]) rp.bare_git.gc("--auto") _PostRepoFetch(rp, repo_verify=opt.repo_verify, verbose=True) -- cgit v1.2.3-54-g00ecf