Process first branch status request before spawning threads.

BUG=341052

Review URL: https://codereview.chromium.org/213573004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@266219 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/git_cl.py b/git_cl.py
index f2f3434..1acc12a 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -1211,7 +1211,7 @@
     return 0
 
   changes = (Changelist(branchref=b) for b in branches.splitlines())
-  branches = dict((c.GetBranch(), c.GetIssueURL()) for c in changes)
+  branches = [c.GetBranch() for c in changes]
   alignment = max(5, max(len(b) for b in branches))
   print 'Branches associated with reviews:'
   # Adhoc thread pool to request data concurrently.
@@ -1257,7 +1257,12 @@
         color = Fore.BLUE
       output.put((b, i, color))
 
-    threads = [threading.Thread(target=fetch, args=(b,)) for b in branches]
+    # Process one branch synchronously to work through authentication, then
+    # spawn threads to process all the other branches in parallel.
+    if branches:
+      fetch(branches[0])
+    threads = [
+      threading.Thread(target=fetch, args=(b,)) for b in branches[1:]]
     for t in threads:
       t.daemon = True
       t.start()