Message ID | 20210415123353.14686-1-oystwa@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 9466d4ef3814a298801aa32c31d1e319f9c5472e |
Headers | show |
Series | transport: respect verbosity when setting upstream | expand |
On Thu, Apr 15, 2021 at 8:34 AM Øystein Walle <oystwa@gmail.com> wrote: > 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> > --- > diff --git a/t/t5523-push-upstream.sh b/t/t5523-push-upstream.sh > @@ -119,4 +119,11 @@ test_expect_success TTY 'quiet push' ' > +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 > +' I wondered why you used `tee` here since it adds no value (as far as I can tell), but I see that you copied it from the test preceding this one. So... [intentionally left blank]
On Thu, 15 Apr 2021 at 17:29, Eric Sunshine <sunshine@sunshineco.com> wrote: > I wondered why you used `tee` here since it adds no value (as far as I > can tell), but I see that you copied it from the test preceding this > one. So... [intentionally left blank] Indeed, I wondered about that too; it seems a plain redirection will do the trick. But a mix of laziness and not second-guessing others' work made me leave it as it is. Øsse
Øystein Walle <oystwa@gmail.com> writes: > On Thu, 15 Apr 2021 at 17:29, Eric Sunshine <sunshine@sunshineco.com> wrote: > >> I wondered why you used `tee` here since it adds no value (as far as I >> can tell), but I see that you copied it from the test preceding this >> one. So... [intentionally left blank] > > Indeed, I wondered about that too; it seems a plain redirection will do > the trick. But a mix of laziness and not second-guessing others' work made > me leave it as it is. Let's agree to mark it as #leftoverbits then? Thanks for a fix, additional tests, and a good review.
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 ef66e73090..62b6eeed21 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);
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> --- t/t5523-push-upstream.sh | 7 +++++++ transport.c | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-)