summaryrefslogtreecommitdiffstats
path: root/subcmds
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2019-09-30 23:59:27 -0400
committerMike Frysinger <vapier@google.com>2019-10-01 05:44:09 +0000
commit0a9265e2d633b608090eff79ab4553f0e1c8c7c4 (patch)
treee82c95a7c44792af2e5848440f25be40ed4c00b3 /subcmds
parentdc1b59d2c0a7ee00b7e6b111285360c4cff32d2b (diff)
downloadgit-repo-0a9265e2d633b608090eff79ab4553f0e1c8c7c4.tar.gz
diff: handle errors gracefully
If `git diff` fails in any project checkout (e.g. an incomplete sync), make sure we print that error clearly rather than blowing up, and exit non-zero in the process. Bug: https://crbug.com/gerrit/11613 Change-Id: I12f278427cced20f23f8047e7e3dba8f442ee25e Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/239236 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
Diffstat (limited to 'subcmds')
-rw-r--r--subcmds/diff.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/subcmds/diff.py b/subcmds/diff.py
index 1f3abd86..fa41e70e 100644
--- a/subcmds/diff.py
+++ b/subcmds/diff.py
@@ -37,5 +37,8 @@ to the Unix 'patch' command.
37 help='Paths are relative to the repository root') 37 help='Paths are relative to the repository root')
38 38
39 def Execute(self, opt, args): 39 def Execute(self, opt, args):
40 ret = 0
40 for project in self.GetProjects(args): 41 for project in self.GetProjects(args):
41 project.PrintWorkTreeDiff(opt.absolute) 42 if not project.PrintWorkTreeDiff(opt.absolute):
43 ret = 1
44 return ret