Re: "--quiet" for git-push does not suppress remote hook output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 07, 2020 at 02:16:36PM +0200, Laszlo Ersek wrote:

> On 05/07/20 14:05, Laszlo Ersek wrote:
> > Hi,
> > 
> > being a total novice in git internals, it seems like
> > "builtin/receive-pack.c" (on the server) forwards any receive hook
> > output with copy_to_sideband() back to git-push (on the client), even if
> > git-push was invoked with "--quiet".
> > 
> > And "case 2" in demultiplex_sideband() seems to print that "band" to
> > stderr (on the client), despite "--quiet".
> > 
> > Is this intentional? I'd prefer "git push --quiet" to suppress remote
> > hook output (unless the remote hook fails).

I think the client has to propagate sideband 2 from the server, since it
doesn't know whether the messages are informational or errors (and even
with --quiet, we'd want to show errors).

There is a "quiet" protocol capability; when you run "git push --quiet"
on the client, it tells the server to use "quiet", and then it passes
options to index-pack, etc, to suppress progress. But that never makes
it to hooks.

> Or else:
> 
> would it be the job of the particular receive hooks to observe and obey
> the "--quiet" option in the GIT_PUSH_OPTION_* environment variables?

That would work, but push options require the client to send them. We
should probably be passing knowledge of the "quiet" capability from
receive-pack down to the hooks, probably via an environment variable
(but not GIT_PUSH_OPTION_*, because that already has meaning).

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux