Re: Hardcoded #!/bin/sh in t5532 causes problems on Solaris
- From
Jeff King <peff@peff.net>
- Date
- Apr 9, 2016, 22:37 UTC
- Message-ID
- <20160409223738.GA1738@sigill.intra.peff.net>
- In-Reply-To
- <57098259.1060608@jupiterrise.com>
On Sun, Apr 10, 2016 at 12:29:45AM +0200, Tom G. Christensen wrote:
Show 7 quoted lines
> On 09/04/16 23:04, Jeff King wrote: > >I did some quick grepping around, and I suspect you may run > >into the same thing in other places (e.g., t3404.40 looks > >like a similar case). > > There are only a few tests that fail and just t5532.3 seems affected by this > issue.
Hmm. t3404.40 does this:
echo "#!/bin/sh" > $PRE_COMMIT && echo "test -z \"\$(git diff --cached --check)\"" >>$PRE_COMMIT && chmod a+x $PRE_COMMIT &&
So I'm pretty sure that $PRE_COMMIT script should be barfing each time it is called on Solaris. I think the test itself doesn't notice because "/bin/sh barfed" and "the pre-commit check said no" look the same from git's perspective (both non-zero exits), and we test only cases where we expect the hook to fail.
I think that particular test could simplify its pre-commit hook to just "exit 1".
I didn't dig into any other cases, so that might be the only one. If you're not seeing problems, I'm not inclined to explore each one manually.
> I applied this to 2.8.1 and as expected the test now passes on Solaris.
Thanks.
-Peff