[depot_tools] Disabling new git checkouts with safesync_urls until fixed.

R=maruel@chromium.org
TEST=gclient sync a freshly configured client.
BUG=106015


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115452 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient.py b/gclient.py
index c804186..041dc36 100644
--- a/gclient.py
+++ b/gclient.py
@@ -920,18 +920,7 @@
         if not s.managed:
           self._options.revisions.append('%s@unmanaged' % s.name)
         elif s.safesync_url:
-          handle = urllib.urlopen(s.safesync_url)
-          rev = handle.read().strip()
-          handle.close()
-          scm = gclient_scm.CreateSCM(s.url, s.root.root_dir, s.name)
-          safe_rev = scm.GetUsableRev(rev=rev, options=self._options)
-          if not safe_rev:
-            raise gclient_utils.Error(
-                'Despite our best attempts, we couldn\'t find a useful\n'
-                'safesync_url revision for you.')
-          if self._options.verbose:
-            print('Using safesync_url revision: %s.\n' % safe_rev)
-          self._options.revisions.append('%s@%s' % (s.name, safe_rev))
+          self._ApplySafeSyncRev(dep=s)
     if not self._options.revisions:
       return revision_overrides
     solutions_names = [s.name for s in self.dependencies]
@@ -950,6 +939,25 @@
       index += 1
     return revision_overrides
 
+  def _ApplySafeSyncRev(self, dep):
+    """Finds a valid revision from the content of the safesync_url and apply it
+    by appending revisions to the revision list. Throws if revision appears to
+    be invalid for the given |dep|."""
+    assert len(dep.safesync_url) > 0
+    handle = urllib.urlopen(dep.safesync_url)
+    rev = handle.read().strip()
+    handle.close()
+    if not rev:
+      raise gclient_utils.Error(
+          'It appears your safesync_url (%s) is not working properly\n'
+          '(as it returned an empty response). Check your config.' %
+          dep.safesync_url)
+    scm = gclient_scm.CreateSCM(dep.url, dep.root.root_dir, dep.name)
+    safe_rev = scm.GetUsableRev(rev=rev, options=self._options)
+    if self._options.verbose:
+      print('Using safesync_url revision: %s.\n' % safe_rev)
+    self._options.revisions.append('%s@%s' % (dep.name, safe_rev))
+
   def RunOnDeps(self, command, args):
     """Runs a command on each dependency in a client and its dependencies.