repo/init: add --verbose flags
We don't use these for much yet, but init passes it down to the
project sync layers which already has support for verbose mode.
Change-Id: I651794f1b300be1688eeccf3941ba92c776812b5
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256454
Tested-by: Mike Frysinger <vapier@google.com>
Reviewed-by: Jonathan Nieder <jrn@google.com>
diff --git a/repo b/repo
index 32ad4cb..25ed328 100755
--- a/repo
+++ b/repo
@@ -265,9 +265,12 @@
# Logging.
group = parser.add_option_group('Logging options')
+ group.add_option('-v', '--verbose',
+ dest='output_mode', action='store_true',
+ help='show all output')
group.add_option('-q', '--quiet',
- action='store_true', default=False,
- help='be quiet')
+ dest='output_mode', action='store_false',
+ help='only show errors')
# Manifest.
group = parser.add_option_group('Manifest options')
@@ -468,6 +471,8 @@
if args:
parser.print_usage()
sys.exit(1)
+ opt.quiet = opt.output_mode is False
+ opt.verbose = opt.output_mode is True
url = opt.repo_url
if not url:
@@ -527,7 +532,7 @@
do_verify = True
dst = os.path.abspath(os.path.join(repodir, S_repo))
- _Clone(url, dst, opt.quiet, opt.clone_bundle)
+ _Clone(url, dst, opt.clone_bundle, opt.quiet, opt.verbose)
if do_verify:
rev = _Verify(dst, branch, opt.quiet)
@@ -746,7 +751,7 @@
urllib.request.install_opener(urllib.request.build_opener(*handlers))
-def _Fetch(url, cwd, src, quiet):
+def _Fetch(url, cwd, src, quiet, verbose):
if not quiet:
print('Get %s' % url, file=sys.stderr)
@@ -762,7 +767,7 @@
run_git(*cmd, stderr=err, cwd=cwd)
-def _DownloadBundle(url, cwd, quiet):
+def _DownloadBundle(url, cwd, quiet, verbose):
if not url.endswith('/'):
url += '/'
url += 'clone.bundle'
@@ -812,12 +817,12 @@
def _ImportBundle(cwd):
path = os.path.join(cwd, '.git', 'clone.bundle')
try:
- _Fetch(cwd, cwd, path, True)
+ _Fetch(cwd, cwd, path, True, False)
finally:
os.remove(path)
-def _Clone(url, cwd, quiet, clone_bundle):
+def _Clone(url, cwd, clone_bundle, quiet, verbose):
"""Clones a git repository to a new subdirectory of repodir
"""
try:
@@ -834,9 +839,9 @@
_SetConfig(cwd,
'remote.origin.fetch',
'+refs/heads/*:refs/remotes/origin/*')
- if clone_bundle and _DownloadBundle(url, cwd, quiet):
+ if clone_bundle and _DownloadBundle(url, cwd, quiet, verbose):
_ImportBundle(cwd)
- _Fetch(url, cwd, 'origin', quiet)
+ _Fetch(url, cwd, 'origin', quiet, verbose)
def _Verify(cwd, branch, quiet):
diff --git a/subcmds/init.py b/subcmds/init.py
index af5bc29..be73cec 100644
--- a/subcmds/init.py
+++ b/subcmds/init.py
@@ -87,9 +87,12 @@
def _Options(self, p, gitc_init=False):
# Logging
g = p.add_option_group('Logging options')
+ g.add_option('-v', '--verbose',
+ dest='output_mode', action='store_true',
+ help='show all output')
g.add_option('-q', '--quiet',
- dest="quiet", action="store_true", default=False,
- help="be quiet")
+ dest='output_mode', action='store_false',
+ help='only show errors')
# Manifest
g = p.add_option_group('Manifest options')
@@ -300,7 +303,7 @@
if opt.submodules:
m.config.SetString('repo.submodules', 'true')
- if not m.Sync_NetworkHalf(is_new=is_new, quiet=opt.quiet,
+ if not m.Sync_NetworkHalf(is_new=is_new, quiet=opt.quiet, verbose=opt.verbose,
clone_bundle=opt.clone_bundle,
current_branch_only=opt.current_branch_only,
tags=opt.tags, submodules=opt.submodules,
@@ -483,6 +486,9 @@
% ('.'.join(str(x) for x in MIN_GIT_VERSION_SOFT),),
file=sys.stderr)
+ opt.quiet = opt.output_mode is False
+ opt.verbose = opt.output_mode is True
+
if opt.worktree:
# Older versions of git supported worktree, but had dangerous gc bugs.
git_require((2, 15, 0), fail=True, msg='git gc worktree corruption')