]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t0610: fix non-portable variable assignment
authorPatrick Steinhardt <ps@pks.im>
Fri, 12 Apr 2024 04:44:53 +0000 (06:44 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 12 Apr 2024 15:47:51 +0000 (08:47 -0700)
Older versions of the Dash shell fail to parse `local var=val`
assignments in some cases when `val` is unquoted. Such failures can be
observed e.g. with Ubuntu 20.04 and older, which has a Dash version that
still has this bug.

Such an assignment has been introduced in t0610. The issue wasn't
detected for a while because this test used to only run when the
GIT_TEST_DEFAULT_REF_FORMAT environment variable was set to "reftable".
We have dropped that requirement now though, meaning that it runs
unconditionally, including on jobs which use such older versions of
Ubuntu.

We have worked around such issues in the past, e.g. in ebee5580ca
(parallel-checkout: avoid dash local bug in tests, 2021-06-06), by
quoting the `val` side. Apply the same fix to t0610.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0610-reftable-basics.sh

index aa9282007cf607afb6905ea7472b0435df458447..dfa7e274ea26944aaeaff69f3cc4a898b2ee4adf 100755 (executable)
@@ -78,9 +78,9 @@ test_expect_success 'init: reinitializing reftable with files backend fails' '
 '
 
 test_expect_perms () {
-       local perms="$1"
-       local file="$2"
-       local actual=$(ls -l "$file") &&
+       local perms="$1" &&
+       local file="$2" &&
+       local actual="$(ls -l "$file")" &&
 
        case "$actual" in
        $perms*)