Index: gclient_scm.py |
diff --git a/gclient_scm.py b/gclient_scm.py |
index d457a5c5a5fc8b7f6450656d0a5ce45fcc1192ed..acebb099637dd0b486079f766657a98feecc294d 100644 |
--- a/gclient_scm.py |
+++ b/gclient_scm.py |
@@ -785,6 +785,8 @@ class GitWrapper(SCMWrapper): |
# mirror_kwargs['refs'].extend(['refs/tags/lkgr', 'refs/tags/lkcr']) |
if hasattr(options, 'with_branch_heads') and options.with_branch_heads: |
mirror_kwargs['refs'].append('refs/branch-heads/*') |
+ if hasattr(options, 'with_tags') and options.with_tags: |
+ mirror_kwargs['refs'].append('refs/tags/*') |
return git_cache.Mirror(url, **mirror_kwargs) |
@staticmethod |
@@ -1075,14 +1077,23 @@ class GitWrapper(SCMWrapper): |
return self._Capture(['rev-parse', '--verify', 'FETCH_HEAD']) |
def _UpdateBranchHeads(self, options, fetch=False): |
- """Adds, and optionally fetches, "branch-heads" refspecs if requested.""" |
+ """Adds, and optionally fetches, "branch-heads" and "tags" refspecs |
+ if requested.""" |
+ need_fetch = fetch |
if hasattr(options, 'with_branch_heads') and options.with_branch_heads: |
config_cmd = ['config', 'remote.%s.fetch' % self.remote, |
'+refs/branch-heads/*:refs/remotes/branch-heads/*', |
'^\\+refs/branch-heads/\\*:.*$'] |
self._Run(config_cmd, options) |
- if fetch: |
- self._Fetch(options) |
+ need_fetch = True |
+ if hasattr(options, 'with_tags') and options.with_tags: |
+ config_cmd = ['config', 'remote.%s.fetch' % self.remote, |
+ '+refs/tags/*:refs/tags/*', |
+ '^\\+refs/tags/\\*:.*$'] |
+ self._Run(config_cmd, options) |
+ need_fetch = True |
+ if fetch and need_fetch: |
+ self._Fetch(options) |
def _Run(self, args, options, show_header=True, **kwargs): |
# Disable 'unused options' warning | pylint: disable=W0613 |