diff --git a/gclient.py b/gclient.py
index eb8b3c3..3e35ebd 100755
--- a/gclient.py
+++ b/gclient.py
@@ -1778,6 +1778,8 @@
                     help='Clone git "branch_heads" refspecs in addition to '
                          'the default refspecs. This adds about 1/2GB to a '
                          'full checkout. (git only)')
+  parser.add_option('--with_tags', action='store_true',
+                    help='Clone git tags in addition to the default refspecs.')
   parser.add_option('-t', '--transitive', action='store_true',
                     help='When a revision is specified (in the DEPS file or '
                           'with the command-line flag), transitively update '
diff --git a/gclient_scm.py b/gclient_scm.py
index d457a5c..acebb09 100644
--- a/gclient_scm.py
+++ b/gclient_scm.py
@@ -785,6 +785,8 @@
     #  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 @@
     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
