From: Jeff King Date: Fri, 13 Nov 2015 23:23:20 GMT Subject: Re: [PATCH] allow hooks to ignore their standard input stream Message-ID: <20151113232320.GB16173@sigill.intra.peff.net> In-Reply-To: <20151113093303.GA4111@musxeris015.imu.intel.com> On Fri, Nov 13, 2015 at 10:33:03AM +0100, Clemens Buchacher wrote: > Since ec7dbd145 (receive-pack: allow hooks to ignore its standard input stream) > the pre-receive and post-receive hooks ignore SIGPIPE. Do the same for the > remaining hooks pre-push and post-rewrite, which read from standard input. The > same arguments for ignoring SIGPIPE apply. > > Performance improvements which allow us to enable the test by > default by Jeff King. I actually did add a new test. The existing one was basically this: > +test_expect_success 'filling pipe buffer does not cause failure' ' > + git push parent1 "refs/heads/b/*:refs/heads/b/*" && > + test_cmp expected actual > +' It actually _does_ read all of the input, but I guess is making sure we call write() in a loop. I don't know if this is even worth keeping. Can you think of a good reason that it is checking something interesting? > +test_expect_success 'sigpipe does not cause pre-push hook failure' ' > + echo "exit 0" | write_script "$HOOK" && > + git push parent1 "refs/heads/b/*:refs/heads/c/*" > +' This is the new one which checks your code. -Peff