From: Jeff King Date: Sat, 09 Apr 2016 22:37:39 GMT Subject: Re: Hardcoded #!/bin/sh in t5532 causes problems on Solaris 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: > 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