Merge branch 'zh/scalar-progress'

"scalar" learned to give progress bar.

* zh/scalar-progress:
  scalar: show progress if stderr refers to a terminal
This commit is contained in:
Junio C Hamano
2023-01-23 13:39:52 -08:00
2 changed files with 33 additions and 3 deletions

View File

@ -405,7 +405,7 @@ void load_builtin_commands(const char *prefix, struct cmdnames *cmds)
static int cmd_clone(int argc, const char **argv)
{
const char *branch = NULL;
int full_clone = 0, single_branch = 0;
int full_clone = 0, single_branch = 0, show_progress = isatty(2);
struct option clone_options[] = {
OPT_STRING('b', "branch", &branch, N_("<branch>"),
N_("branch to checkout after clone")),
@ -500,7 +500,9 @@ static int cmd_clone(int argc, const char **argv)
if (set_recommended_config(0))
return error(_("could not configure '%s'"), dir);
if ((res = run_git("fetch", "--quiet", "origin", NULL))) {
if ((res = run_git("fetch", "--quiet",
show_progress ? "--progress" : "--no-progress",
"origin", NULL))) {
warning(_("partial clone failed; attempting full clone"));
if (set_config("remote.origin.promisor") ||
@ -509,7 +511,9 @@ static int cmd_clone(int argc, const char **argv)
goto cleanup;
}
if ((res = run_git("fetch", "--quiet", "origin", NULL)))
if ((res = run_git("fetch", "--quiet",
show_progress ? "--progress" : "--no-progress",
"origin", NULL)))
goto cleanup;
}