summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorØystein Walle <oystwa@gmail.com>2021-04-15 14:33:53 +0200
committerJunio C Hamano <gitster@pobox.com>2021-04-15 12:52:49 -0700
commitf3cce896a8e14e4732f45a6ee46f77e7ed17a990 (patch)
tree6a9bc83a62fc730c80962f97690c6cd4854fbd16
parent48bf2fa8bad054d66bd79c6ba903c89c704201f7 (diff)
downloadgit-f3cce896a8e14e4732f45a6ee46f77e7ed17a990.tar.gz
transport: respect verbosity when setting upstream
A command such as `git push -qu origin feature` will print "Branch 'feature' set up to track remote branch 'feature' from 'origin'." even when --quiet is passed. In this case it's because install_branch_config() is always called with BRANCH_CONFIG_VERBOSE. struct transport keeps track of the desired verbosity. Fix the above issue by passing BRANCH_CONFIG_VERBOSE conditionally based on that. Signed-off-by: Øystein Walle <oystwa@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t5523-push-upstream.sh7
-rw-r--r--transport.c10
2 files changed, 12 insertions, 5 deletions
diff --git a/t/t5523-push-upstream.sh b/t/t5523-push-upstream.sh
index 9fbe7f784d..fdb4292056 100755
--- a/t/t5523-push-upstream.sh
+++ b/t/t5523-push-upstream.sh
@@ -119,4 +119,11 @@ test_expect_success TTY 'quiet push' '
test_must_be_empty output
'
+test_expect_success TTY 'quiet push -u' '
+ ensure_fresh_upstream &&
+
+ test_terminal git push --quiet -u --no-progress upstream main 2>&1 | tee output &&
+ test_must_be_empty output
+'
+
test_done
diff --git a/transport.c b/transport.c
index 1c4ab676d1..b5452b6ff5 100644
--- a/transport.c
+++ b/transport.c
@@ -108,11 +108,11 @@ static void set_upstreams(struct transport *transport, struct ref *refs,
if (!remotename || !starts_with(remotename, "refs/heads/"))
continue;
- if (!pretend)
- install_branch_config(BRANCH_CONFIG_VERBOSE,
- localname + 11, transport->remote->name,
- remotename);
- else
+ if (!pretend) {
+ int flag = transport->verbose < 0 ? 0 : BRANCH_CONFIG_VERBOSE;
+ install_branch_config(flag, localname + 11,
+ transport->remote->name, remotename);
+ } else if (transport->verbose >= 0)
printf(_("Would set upstream of '%s' to '%s' of '%s'\n"),
localname + 11, remotename + 11,
transport->remote->name);