]> git.ipfire.org Git - thirdparty/git.git/commit - t/t1300-config.sh
tests: avoid syntax triggering old dash bug
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Wed, 13 Feb 2019 11:59:51 +0000 (12:59 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 13 Feb 2019 21:46:06 +0000 (13:46 -0800)
commitd38722eb103d101e05f42fba0bd40e06726d9e46
treee38d9f10fd4bf9215d9d79d1510d64ae83bdcbda
parent0d0ac3826a3bbb9247e39e12623bbcfdd722f24c
tests: avoid syntax triggering old dash bug

Avoid a bug in dash that's been fixed ever since its
ec2c84d ("[PARSER] Fix clobbering of checkkwd", 2011-03-15)[1] first
released with dash v0.5.7 in July 2011. This failing test was
introduced in 5f9674243d ("config: add --expiry-date", 2017-11-18).

This fixes 1/2 tests failing on Debian Lenny & Squeeze. The other
failure is due to 1b42f45255 ("git-svn: apply "svn.pathnameencoding"
before URL encoding", 2016-02-09).

The dash bug is triggered by this test because the heredoc contains a
command embedded in "$()" with a "{}" block coming right after
it. Refactoring the "$()" to e.g. be a variable that was set earlier
will also work around it, but let's instead break up the "EOF" and the
"{}".

An earlier version of this patch[2] mitigated the issue by breaking
the "$()" out of the "{}" block, that worked, but just because it
broke up the "EOF" and "{}" block. Putting e.g. "echo &&" between the
two would also work.

1. https://git.kernel.org/pub/scm/utils/dash/dash.git/
2. https://public-inbox.org/git/20181127164253.9832-1-avarab@gmail.com/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1300-config.sh