]> git.ipfire.org Git - thirdparty/git.git/commit
fetch test: avoid use of "VAR= cmd" with a shell function
authorJonathan Nieder <jrnieder@gmail.com>
Thu, 26 Dec 2019 19:55:10 +0000 (11:55 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 15 Jan 2020 22:02:32 +0000 (14:02 -0800)
commitc7973f249ebe86f10ec4b420a8ab83b8b83bce22
tree2cfe8f9524b3132794e96f66261c9f92b1015f36
parentc58ae96fc4bb11916b62a96940bb70bb85ea5992
fetch test: avoid use of "VAR= cmd" with a shell function

Just like assigning a nonempty value, assigning an empty value to a
shell variable when calling a function produces non-portable behavior:
in some shells, the assignment lasts for the duration of the function
invocation, and in others, it persists after the function returns.

Use an explicit subshell with the envvar exported to make the behavior
consistent across shells and crystal clear.

All previous instances of this pattern used "VAR=value" (with nonempty
`value`), which is already diagnosed automatically by "make test-lint"
since a0a630192d (t/check-non-portable-shell: detect "FOO=bar
shell_func", 2018-07-13).

Noticed using an improved "make test-lint".

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5552-skipping-fetch-negotiator.sh