repo/init/sync: rework default git download output

When we download git sources, we get a progress bar (good) and we get
a dump of all the refs we downloaded (bad) as it can easily be 100+ if
not 1000+ depending on the project (for each git repo!).  Lets rework
the output behavior so that:
* quiet: Only errors.
* default: Progress bars (if on a tty).
* verbose: Full output (progress bars & downloaded refs).

Bug: https://crbug.com/gerrit/11293
Change-Id: I87a380075e79de6805f91095876dd1b37d32873a
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256456
Tested-by: Mike Frysinger <vapier@google.com>
Reviewed-by: Michael Mortensen <mmortensen@google.com>
This commit is contained in:
Mike Frysinger
2020-02-22 00:07:35 -05:00
parent bb8ee7f54a
commit 4847e05743
2 changed files with 15 additions and 10 deletions

10
repo
View File

@@ -758,15 +758,17 @@ def _InitHttp():
def _Fetch(url, cwd, src, quiet, verbose):
cmd = ['fetch']
if quiet:
if not verbose:
cmd.append('--quiet')
err = None
if not quiet and sys.stdout.isatty():
cmd.append('--progress')
elif not verbose:
err = subprocess.PIPE
else:
err = None
cmd.append(src)
cmd.append('+refs/heads/*:refs/remotes/origin/*')
cmd.append('+refs/tags/*:refs/tags/*')
run_git(*cmd, stderr=err, cwd=cwd)
run_git(*cmd, stderr=err, capture_output=False, cwd=cwd)
def _DownloadBundle(url, cwd, quiet, verbose):