git-cl: split GetRietveldServer from GetIssue

Should be no functional change.
Necessary for a follow-up change I'm making.

Review URL: http://codereview.chromium.org/9385017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121590 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/git_cl.py b/git_cl.py
index 2687030..56d86f2 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -397,17 +397,20 @@
       issue = RunGit(['config', self._IssueSetting()], error_ok=True).strip()
       if issue:
         self.issue = issue
-        self.rietveld_server = gclient_utils.UpgradeToHttps(RunGit(
-            ['config', self._RietveldServer()], error_ok=True).strip())
       else:
         self.issue = None
-      if not self.rietveld_server:
-        self.rietveld_server = settings.GetDefaultServerUrl()
       self.has_issue = True
     return self.issue
 
   def GetRietveldServer(self):
-    self.GetIssue()
+    if not self.rietveld_server:
+      # If we're on a branch then get the server potentially associated
+      # with that branch.
+      if self.GetIssue():
+        self.rietveld_server = gclient_utils.UpgradeToHttps(RunGit(
+            ['config', self._RietveldServer()], error_ok=True).strip())
+      if not self.rietveld_server:
+        self.rietveld_server = settings.GetDefaultServerUrl()
     return self.rietveld_server
 
   def GetIssueURL(self):
@@ -564,8 +567,8 @@
     """Returns an upload.RpcServer() to access this review's rietveld instance.
     """
     if not self._rpc_server:
-      self.GetIssue()
-      self._rpc_server = rietveld.Rietveld(self.rietveld_server, None, None)
+      self._rpc_server = rietveld.Rietveld(self.GetRietveldServer(),
+                                           None, None)
     return self._rpc_server
 
   def _IssueSetting(self):