Unpoison gclient checkouts by setting recurseSubmodules=false

This was causing extremely slow gclient sync's, and was preventing gclient from
outputting anything if a slow submodule needed significant updating.

R=cmp@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/13702002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@192475 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient_scm.py b/gclient_scm.py
index 9facab6..86a79c4 100644
--- a/gclient_scm.py
+++ b/gclient_scm.py
@@ -202,6 +202,7 @@
     cmd = ['git', 'submodule', '--quiet', 'foreach', ' '.join(submod_cmd)]
     cmd2 = ['git', 'config', 'diff.ignoreSubmodules', 'all']
     cmd3 = ['git', 'config', 'branch.autosetupmerge']
+    cmd4 = ['git', 'config', 'fetch.recurseSubmodules', 'false']
     kwargs = {'cwd': self.checkout_path,
               'print_stdout': False,
               'filter_fn': lambda x: None}
@@ -217,6 +218,8 @@
     except subprocess2.CalledProcessError:
       gclient_utils.CheckCallAndFilter(cmd3 + ['always'], **kwargs)
 
+    gclient_utils.CheckCallAndFilter(cmd4, **kwargs)
+
   def update(self, options, args, file_list):
     """Runs git to update or transparently checkout the working copy.