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

Re: [PATCH 0/4] add pre-auto-gc hook for git-gc --auto (try2)

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 1, 2008, 23:18 UTC
Message-ID
<7vhceldv12.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<cover.1207049697.git.vmiklos@frugalware.org>
Miklos Vajna <vmiklos@frugalware.org> writes:
> - removed unnecessary stdout_to_stderr from builtin-gc.c::run_hook()

Wait, a, minute, please. Not so fast. I did not say "I think this is wrong, please fix it".

I only asked why it is so.

Care to explain why it was thought to be necessary, and why you now think it is unnecessary?

This comment is not just for you, but when I ask why it is so, I expect that the contributor would do the homework and present an argument to defend what was submit (or "it was wrong for such and such reasons so let's do it differently like this because this is better for such and such reasons"). The original contributor has thought about the issues much longer and deeper than I, who only just look at the email and kibitz, after the contribution was perfected into a patch form. There must have been a lot more thinking than what can be seen in the submitted material in the contributor's head. I want to see that in the open. Please do not change your mind and retract your change without explaining why.

The argument to respond to such "why is it so?" question would perhaps look like this for this case.

(begin example #1)

Well, I just cut and pasted from existing code. Because all these hooks redirect their stdout to stderr, I think it is consistent to do so with the new hook.

(example #1 ends here)
(begin example #2)

"git grep -n -e stdout_to_stderr" followed by "git blame" reveals the following pattern:

 - builtin-checkout.c:41
   782c2d6 (Build in checkout, 2008-02-07)
 - builtin-commit:382
   f5bbc32 (Port git commit to C., 2007-11-08)
 - help.c:62
   6494998 (help: add "man.viewer" config var to use "woman" or "konqueror", 2008-03-07)
 - receive-pack.c:120,157
   f43cd49 (Change {pre,post}-receive hooks to use stdin, 2007-03-10)
   1d9e8b5 (Split back out update_hook handling in receive-pack, 2007-03-10)
 - transport.c:165,218,297
   cd547b4 (fetch/push: readd rsync support, 2007-10-01)

I think all of these are the result of cut&paste from the original one in receive-pack.c's hook handling.

The ones in the protocol handler may not write to the standard output, because the other end does not expect random diagnostic string in the protocol message at the point these hooks are called. But the other ones could go either way.

However, because existing hooks all show their script output to stderr, it would make sense for this new pre-auto-gc hook to do so as well from the consistency viewpoint. So use of stdout_to_stderr is the right thing to do here.

(example #2 ends here)
Previous: Miklos VajnaNext: Miklos Vajna
Message 3 of 21 in “Re: [PATCH 1/4] git-gc --auto: add pre-auto-gc hook”
  1. Junio C HamanoApr 1, 2008
  2. 0/4 add pre-auto-gc hook for git-gc --auto (try2)Miklos Vajna, Apr 1, 2008
  3. Junio C HamanoApr 1, 2008
  4. Miklos VajnaApr 2, 2008
  5. Junio C HamanoApr 2, 2008
  6. Miklos VajnaApr 2, 2008
  7. Junio C HamanoApr 2, 2008
  8. 0/3 add pre-auto-gc hook for git-gc --auto (try3)Miklos Vajna, Apr 2, 2008
  9. 1/3 git-gc --auto: add pre-auto-gc hookMiklos Vajna, Apr 2, 2008
  10. 2/3 Documentation/hooks: add pre-auto-gc hookMiklos Vajna, Apr 2, 2008
  11. 3/3 contrib/hooks: add an example pre-auto-gc hookMiklos Vajna, Apr 2, 2008
  12. Junio C HamanoApr 2, 2008
  13. 3/3 contrib/hooks: add an example pre-auto-gc hookMiklos Vajna, Apr 2, 2008
  14. Junio C HamanoApr 2, 2008
  15. Miklos VajnaApr 2, 2008
  16. tests for pre-auto-gc hook (WAS: Re: [PATCH 3/3] contrib/hooks: add an example pre-auto-gc hook)Miklos Vajna, Apr 3, 2008
  17. Johannes SixtApr 4, 2008
  18. 1/4 git-gc --auto: add pre-auto-gc hookMiklos Vajna, Apr 1, 2008
  19. 2/4 Documentation/hooks: add pre-auto-gc hookMiklos Vajna, Apr 1, 2008
  20. 3/4 templates: add an example pre-auto-gc hookMiklos Vajna, Apr 1, 2008
  21. 4/4 contrib/hooks: add an example pre-auto-gc hookMiklos Vajna, Apr 1, 2008

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.