Use a regex instead of shlex.split() to get remote url

shlex.spit(), in addition to doing str.split(' '), also strips out '\\'
from windows paths, which causes the cache_dir check to fail and Gclient to think
that we're not in cache_dir mode even if we are.

Instead of using shlex to strip data from a stdout log, I think regex is more
suited for this job.

BUG=405973

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291446 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient_scm.py b/gclient_scm.py
index 0dabd26..f583431 100644
--- a/gclient_scm.py
+++ b/gclient_scm.py
@@ -11,7 +11,6 @@
 import os
 import posixpath
 import re
-import shlex
 import sys
 import tempfile
 import traceback
@@ -159,13 +158,19 @@
 
     return getattr(self, command)(options, args, file_list)
 
+  @staticmethod
+  def _get_first_remote_url(checkout_path):
+    log = scm.GIT.Capture(
+        ['config', '--local', '--get-regexp', r'remote.*.url'],
+        cwd=checkout_path)
+    # Get the second token of the first line of the log.
+    return log.splitlines()[0].split(' ', 1)[1]
+
   def GetActualRemoteURL(self, options):
     """Attempt to determine the remote URL for this SCMWrapper."""
     # Git
     if os.path.exists(os.path.join(self.checkout_path, '.git')):
-      actual_remote_url = shlex.split(scm.GIT.Capture(
-          ['config', '--local', '--get-regexp', r'remote.*.url'],
-          cwd=self.checkout_path))[1]
+      actual_remote_url = self._get_first_remote_url(self.checkout_path)
 
       # If a cache_dir is used, obtain the actual remote URL from the cache.
       if getattr(self, 'cache_dir', None):
@@ -173,9 +178,7 @@
         mirror = git_cache.Mirror(url)
         if (mirror.exists() and mirror.mirror_path.replace('\\', '/') ==
             actual_remote_url.replace('\\', '/')):
-          actual_remote_url = shlex.split(scm.GIT.Capture(
-              ['config', '--local', '--get-regexp', r'remote.*.url'],
-              cwd=mirror.mirror_path))[1]
+          actual_remote_url = self._get_first_remote_url(mirror.mirror_path)
       return actual_remote_url
 
     # Svn