Print git output when cloning a repo.

This will allow us to show the progress when cloning a new repo when running
commands like gclient sync.

R=agable@chromium.org

Bug: 722686
Change-Id: I268cba343ea4c3c024292c9341d5009aa112b184
Reviewed-on: https://chromium-review.googlesource.com/890524
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
diff --git a/gclient.py b/gclient.py
index 96c2ab3..814bf59 100755
--- a/gclient.py
+++ b/gclient.py
@@ -356,7 +356,7 @@
 
   def __init__(self, parent, name, raw_url, url, managed, custom_deps,
                custom_vars, custom_hooks, deps_file, should_process,
-               relative, condition, condition_value):
+               relative, condition, condition_value, print_outbuf=False):
     gclient_utils.WorkItem.__init__(self, name)
     DependencySettings.__init__(
         self, parent, raw_url, url, managed, custom_deps, custom_vars,
@@ -420,6 +420,10 @@
       # or just https://blah.  The @123 portion is irrelevant.
       self.resources.append(url.split('@')[0])
 
+    # Controls whether we want to print git's output when we first clone the
+    # dependency
+    self.print_outbuf = print_outbuf
+
     if not self.name and self.parent:
       raise gclient_utils.Error('Dependency without name')
 
@@ -1046,7 +1050,7 @@
     scm_class = SCM_MAP[scm_name]
     if not scm_class.BinaryExists():
       raise gclient_utils.Error('%s command not found' % scm_name)
-    return scm_class(url, root_dir, relpath, out_fh, out_cb)
+    return scm_class(url, root_dir, relpath, out_fh, out_cb, self.print_outbuf)
 
   def HasGNArgsFile(self):
     return self._gn_args_file is not None
@@ -1433,6 +1437,7 @@
             True,
             None,
             None,
+            True,
             True))
       except KeyError:
         raise gclient_utils.Error('Invalid .gclient file. Solution is '