Index: gclient_scm.py |
=================================================================== |
--- gclient_scm.py (revision 188768) |
+++ gclient_scm.py (working copy) |
@@ -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', 'true'] |
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. |
@@ -656,6 +659,7 @@ |
if options.verbose: |
clone_cmd.append('--verbose') |
clone_cmd.extend([url, self.checkout_path]) |
+ clone_cmd.append('--recursive') |
# If the parent directory does not exist, Git clone on Windows will not |
# create it, so we need to do it manually. |