diff --git a/repo b/repo index 32ad4cbb..25ed3287 100755 --- a/repo +++ b/repo @@ -265,9 +265,12 @@ def GetParser(gitc_init=False): # 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 @@ def _Init(args, gitc_init=False): 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 @@ def _Init(args, gitc_init=False): 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 @@ def _InitHttp(): 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 @@ def _Fetch(url, cwd, src, quiet): 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 _DownloadBundle(url, cwd, quiet): 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 @@ def _Clone(url, cwd, quiet, clone_bundle): _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 af5bc297..be73cecd 100644 --- a/subcmds/init.py +++ b/subcmds/init.py @@ -87,9 +87,12 @@ to update the working directory files. 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 @@ to update the working directory files. 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 @@ to update the working directory files. % ('.'.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')