Re: [PATCH] t4014: shell portability fix
- From
Jeff King <peff@peff.net>
- Date
- Jun 1, 2016, 16:58 UTC
- Message-ID
- <20160601165843.GA11464@sigill.intra.peff.net>
- In-Reply-To
- <xmqqfuswzw2l.fsf@gitster.mtv.corp.google.com>
On Wed, Jun 01, 2016 at 09:57:06AM -0700, Junio C Hamano wrote:
Show 22 quoted lines
> Jeff King <peff@peff.net> writes: > > > Maybe: > > > > We sometimes get around this by using env, like: > > > > test_must_fail env FOO=BAR some-program > > > > But that works for test_must_fail because it further runs its > > arguments via the shell, so we can stick the "env" on the right-hand > > side of the function. It would not work to do: > > > > env FOO=BAR test_must_fail some-program > > > > because env does not know about our shell functions... > > > > is more clear? > > I don't know. What I wanted to say was that "test_must_fail env" > pattern works _only_ when some-program is not a shell function, even > though "test_must_fail some-program" itself without env is OK when > some-program is a shell function.
Right, but I think that is taking it to a meta-level. We are already talking about one shell function, test_must_fail versus test_commit. Introducing another one in the test_must_fail to the right of "env" obviously does not work, but that is independent of whether test_must_fail is in use.
-Peff