From: Junio C Hamano Date: Mon, 13 Oct 2014 23:14:59 GMT Subject: Re: [PATCH v2 3/3] test-lib.sh: support -x option for shell-tracing Message-ID: In-Reply-To: <20141013224342.GA22290@peff.net> Jeff King writes: > 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 EOF and with your original $*" the file ends with EOF with these extra appended, which was what made me notice, and with $*" the file ends with the same EOF 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 ;-)