Run hooks and show errors for all projects and commits before quitting.

- Add functionality that formats and prints hook errors and context (project, commit info)
- No longer exit on first error.  Print errors for all projects/commits, and exit on error at the end.
- No longer throw exceptions for hook failures, instead return HookFailure instance.
- Move error reporting functionality into module
- Add hints to help user with common tasks (uploading only current project, updating hooks).

TEST=Ran with errors in multiple repos.  Ran with no errors.

Change-Id: I0b539a4f9ce31aac6d12e0239f203082439731df
Reviewed-by: Ryan Cui <>
Tested-by: Ryan Cui <>
2 files changed
tree: 2cd7c7a556e52ffb8008fe2889748abcd00d7279