mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
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:
parent
bb8ee7f54a
commit
4847e05743
15
project.py
15
project.py
@ -2440,8 +2440,10 @@ class Project(object):
|
||||
if os.path.exists(os.path.join(self.gitdir, 'shallow')):
|
||||
cmd.append('--depth=2147483647')
|
||||
|
||||
if quiet:
|
||||
if not verbose:
|
||||
cmd.append('--quiet')
|
||||
if not quiet and sys.stdout.isatty():
|
||||
cmd.append('--progress')
|
||||
if not self.worktree:
|
||||
cmd.append('--update-head-ok')
|
||||
cmd.append(name)
|
||||
@ -2498,7 +2500,7 @@ class Project(object):
|
||||
ok = False
|
||||
for _i in range(2):
|
||||
gitcmd = GitCommand(self, cmd, bare=True, ssh_proxy=ssh_proxy,
|
||||
merge_output=True, capture_stdout=not verbose)
|
||||
merge_output=True, capture_stdout=quiet)
|
||||
ret = gitcmd.Wait()
|
||||
if ret == 0:
|
||||
ok = True
|
||||
@ -2578,8 +2580,10 @@ class Project(object):
|
||||
return False
|
||||
|
||||
cmd = ['fetch']
|
||||
if quiet:
|
||||
if not verbose:
|
||||
cmd.append('--quiet')
|
||||
if not quiet and sys.stdout.isatty():
|
||||
cmd.append('--progress')
|
||||
if not self.worktree:
|
||||
cmd.append('--update-head-ok')
|
||||
cmd.append(bundle_dst)
|
||||
@ -2639,9 +2643,8 @@ class Project(object):
|
||||
# 22: HTTP page not retrieved. The requested url was not found or
|
||||
# returned another error with the HTTP error code being 400 or above.
|
||||
# This return code only appears if -f, --fail is used.
|
||||
if not quiet:
|
||||
print("Server does not provide clone.bundle; ignoring.",
|
||||
file=sys.stderr)
|
||||
if verbose:
|
||||
print('Server does not provide clone.bundle; ignoring.')
|
||||
return False
|
||||
elif curlret and not verbose and output:
|
||||
print('%s' % output, file=sys.stderr)
|
||||
|
10
repo
10
repo
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user