@ -202,6 +202,7 @@ class GitWrapper(SCMWrapper):
cmd = [ ' git ' , ' submodule ' , ' --quiet ' , ' foreach ' , ' ' . join ( submod_cmd ) ]
cmd = [ ' git ' , ' submodule ' , ' --quiet ' , ' foreach ' , ' ' . join ( submod_cmd ) ]
cmd2 = [ ' git ' , ' config ' , ' diff.ignoreSubmodules ' , ' all ' ]
cmd2 = [ ' git ' , ' config ' , ' diff.ignoreSubmodules ' , ' all ' ]
cmd3 = [ ' git ' , ' config ' , ' branch.autosetupmerge ' ]
cmd3 = [ ' git ' , ' config ' , ' branch.autosetupmerge ' ]
cmd4 = [ ' git ' , ' config ' , ' fetch.recurseSubmodules ' , ' true ' ]
kwargs = { ' cwd ' : self . checkout_path ,
kwargs = { ' cwd ' : self . checkout_path ,
' print_stdout ' : False ,
' print_stdout ' : False ,
' filter_fn ' : lambda x : None }
' filter_fn ' : lambda x : None }
@ -217,6 +218,8 @@ class GitWrapper(SCMWrapper):
except subprocess2 . CalledProcessError :
except subprocess2 . CalledProcessError :
gclient_utils . CheckCallAndFilter ( cmd3 + [ ' always ' ] , * * kwargs )
gclient_utils . CheckCallAndFilter ( cmd3 + [ ' always ' ] , * * kwargs )
gclient_utils . CheckCallAndFilter ( cmd4 , * * kwargs )
def update ( self , options , args , file_list ) :
def update ( self , options , args , file_list ) :
""" Runs git to update or transparently checkout the working copy.
""" Runs git to update or transparently checkout the working copy.
@ -656,6 +659,7 @@ class GitWrapper(SCMWrapper):
if options . verbose :
if options . verbose :
clone_cmd . append ( ' --verbose ' )
clone_cmd . append ( ' --verbose ' )
clone_cmd . extend ( [ url , self . checkout_path ] )
clone_cmd . extend ( [ url , self . checkout_path ] )
clone_cmd . append ( ' --recursive ' )
# If the parent directory does not exist, Git clone on Windows will not
# If the parent directory does not exist, Git clone on Windows will not
# create it, so we need to do it manually.
# create it, so we need to do it manually.