Re: [PATCH v2 3/3] test-lib.sh: support -x option for shell-tracing
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 13, 2014, 23:14 UTC
- Message-ID
- <xmqq4mv71s0c.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20141013224342.GA22290@peff.net>
Jeff King <peff@peff.net> writes:
Show 15 quoted lines
> OK, I lied. I couldn't resist spending 5 more minutes on it. > > If you instrument t1308 on master to look at the contents of .git/config > directly after the setup step, you'll see that the file ends with (tabs > marked as ^I): > > [...] > ^I^Ihorns > ^IEOF > > Which makes sense. We forgot the tab-eating "<<-" in the here-doc, so > the tab-indented EOF was not counted as the end of the input. So this > test is bogus and broken, and the breakage introduced by my patch is > only triggered because of that (which isn't to say we shouldn't > necessarily adjust my patch, but we definitely should fix this test).
We came to more or less the same conclusion. With your $*" fixed, the test "works" as before, with the same definition of "works", because without your patch the file ends with <HT>EOF<LF> and with your original $*<LF><HT>" the file ends with <HT>EOF<LF> with these extra <LF><HT> appended, which was what made me notice, and with $*" the file ends with the same <HT>EOF<LF> as before.
I've queued a fix for the original test on ta/config-set and also amended your $*".
> What really surprises me is that the shell is fine with a here-doc > ending inside an eval.
Yup, it smells somewhat mis-feature-ish, doesn't it?
Anyway, you do not need to respond to this message in a hurry.
Enjoy your dinner ;-)