Re: bug report: pre-push hook
- From
Emily Shaffer <emilyshaffer@google.com>
- Date
- Mar 24, 2022, 22:47 UTC
- Message-ID
- <CAJoAoZmfLaxTGGQRaR8D0-L3pH563z6_04UUwBo7GY1A14Ebww@mail.gmail.com>
- In-Reply-To
- <Yjziu8nU/SZ7SyH0@nand.local>
On Thu, Mar 24, 2022 at 2:29 PM Taylor Blau <me@ttaylorr.com> wrote:
Show 26 quoted lines
> > On Thu, Mar 24, 2022 at 11:30:16AM -0700, Emily Shaffer wrote: > > > What happened instead? (Actual behavior) > > > Tests seem to execute on the background, but I do not see output > > > > I wonder - are you printing your test output to stdout, or stderr? > > stderr of the hook is printed to stdout of the Git process, so that > > may be why. > > I didn't think that we redirected the pre-push (or any) hook's stderr to > stdout in the parent process. I wrote a small pre-push hook which is > just: > > $ cat .git/hooks/pre-push > #!/bin/sh > > echo >&2 "hi!" > > and then: > > $ git.compile push ttaylorr --dry-run 2>foo > $ grep hi foo > hi! > > But I might be holding it wrong, since I am not a frequent user of > hooks.
Ah, it seems I'm completely mistaken :) Sorry for the misinfo. Urk.
Having a look in 'master', run_pre_push_hook() does not use hook.c machinery yet at all; it also seems like it doesn't try to capture stdout from the pre-push child process anyways. That makes me ask "how did this ever work?" which brings me back to wanting a small hook we can try to reproduce with from Honza :)
- Emily