Re: [PATCH] t7507-*.sh: Fix test #8 (could not run '"$FAKE_EDITOR"')
- From
Jeff King <peff@peff.net>
- Date
- Nov 20, 2013, 18:54 UTC
- Message-ID
- <20131120185420.GA11404@sigill.intra.peff.net>
- In-Reply-To
- <xmqqhab67wjr.fsf@gitster.dls.corp.google.com>
On Wed, Nov 20, 2013 at 10:33:28AM -0800, Junio C Hamano wrote:
Show 5 quoted lines
> Jeff King <peff@peff.net> writes: > > > Am I misremembering the issues with one-shot variables and functions? > > I think there are two problems involved.
OK, I was misremembering. I recalled the "does not unset afterwards" part, but not the "does not export" part. I think because:
Show 5 quoted lines
> test_must_fail () {
> (
> env | sed -n -e '/EDITOR/s/^/>> /p'
> )
> }...here we _do_ have GIT_EDITOR set properly in the function itself, but not in the subprocess.
Previous discussion and links to POSIX are here:
http://article.gmane.org/gmane.comp.version-control.git/137095
Not that they matter compared to the code you demonstrated, but I was digging them up when you responded. :)
> Another is that EDITOR="$FAKE_EDITOR" that is set up earlier in the > is having trouble launching (I have a feeling that it never was > actually used because everybody uses "commit -F <file>").
I think it is used, as there are several "git commit --amend -v" invocations. Which makes sense, as you should not be able to test "-v" with "-F", I would think.
I'm not sure why the old $FAKE_EDITOR doesn't work there, though (not that it would make the test pass anyway, as it does something different than what the test wants, but I would not expect the shell to complain of failure).
-Peff