|
|
|
@ -655,6 +655,11 @@ class GitWrapper(SCMWrapper):
|
|
|
|
|
detach_head = True
|
|
|
|
|
if options.verbose:
|
|
|
|
|
clone_cmd.append('--verbose')
|
|
|
|
|
# Don't assume 'with_branch_heads' is added by 'gclient sync' setup, since
|
|
|
|
|
# _Clone() can by reached in roundabout ways (e.g. 'gclient revert').
|
|
|
|
|
if hasattr(options, 'with_branch_heads') and options.with_branch_heads:
|
|
|
|
|
clone_cmd.extend(['--config', 'remote.origin.fetch=+refs/branch-heads/*:'
|
|
|
|
|
'refs/remotes/branch-heads/*'])
|
|
|
|
|
clone_cmd.extend([url, self.checkout_path])
|
|
|
|
|
|
|
|
|
|
# If the parent directory does not exist, Git clone on Windows will not
|
|
|
|
@ -677,6 +682,15 @@ class GitWrapper(SCMWrapper):
|
|
|
|
|
try:
|
|
|
|
|
self._Run(clone_cmd, options, cwd=self._root_dir, filter_fn=_GitFilter,
|
|
|
|
|
print_stdout=False)
|
|
|
|
|
# Update the "branch-heads" remote-tracking branches, since clone
|
|
|
|
|
# doesn't automatically fetch those, and we might need it to checkout a
|
|
|
|
|
# specific revision below.
|
|
|
|
|
if (hasattr(options, 'with_branch_heads') and
|
|
|
|
|
options.with_branch_heads):
|
|
|
|
|
fetch_cmd = ['fetch', 'origin']
|
|
|
|
|
if options.verbose:
|
|
|
|
|
fetch_cmd.append('--verbose')
|
|
|
|
|
self._Run(fetch_cmd, options)
|
|
|
|
|
break
|
|
|
|
|
except subprocess2.CalledProcessError, e:
|
|
|
|
|
# Too bad we don't have access to the actual output yet.
|
|
|
|
|