| Index: git_cl.py
|
| diff --git a/git_cl.py b/git_cl.py
|
| index 6658a2fa05aaf149ac417453e4643cf1e6a9b1f4..399f9ed0369b7dab7c35cf548cd779b08ee353c1 100755
|
| --- a/git_cl.py
|
| +++ b/git_cl.py
|
| @@ -3063,14 +3063,20 @@ def get_cl_statuses(changes, fine_grained, max_processes=None):
|
| # Process one branch synchronously to work through authentication, then
|
| # spawn processes to process all the other branches in parallel.
|
| if changes:
|
| - fetch = lambda cl: (cl, cl.GetStatus())
|
| + def fetch(cl):
|
| + try:
|
| + return (cl, cl.GetStatus())
|
| + except:
|
| + # See http://crbug.com/629863.
|
| + logging.exception('failed to fetch status for %s:', cl)
|
| + raise
|
| yield fetch(changes[0])
|
|
|
| - if not changes:
|
| + changes_to_fetch = changes[1:]
|
| + if not changes_to_fetch:
|
| # Exit early if there was only one branch to fetch.
|
| return
|
|
|
| - changes_to_fetch = changes[1:]
|
| pool = ThreadPool(
|
| min(max_processes, len(changes_to_fetch))
|
| if max_processes is not None
|
|
|