git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
LELaszlo Ersek <lersek@redhat.com>
Date
May 8, 2020, 09:50 UTC
Message-ID
<a9593a71-e1d0-54cc-d974-7cfb60deafc6@redhat.com>
In-Reply-To
<20200507210210.GB38308@coredump.intra.peff.net>
On 05/07/20 23:02, Jeff King wrote:
Show 34 quoted lines
> 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).

Thank you for explaining! Laszlo

Previous: Jeff King
Message 4 of 4 in “"--quiet" for git-push does not suppress remote hook output”
  1. Laszlo ErsekMay 7, 2020
  2. Laszlo ErsekMay 7, 2020
  3. Jeff KingMay 7, 2020
  4. Laszlo ErsekMay 8, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.