Since the upthread quoting discussion pointed at a commit of mine I felt obligated to look at this in a deeper way. When I added those tests I carried forward some technical debt where we were passing arguments to a function as a string, instead of as multiple arguments which we could get with "$@", in hindsight that was a big mistake. As far as I can tell the proposed https://lore.kernel.org/git/xmqqy1xpg3th.fsf@gitster.g/ fixes the issue at hand, but this is the deeper and I think better direction to go in (but I could rebase in top of that fix if needed, although the conflict is trivial, keep this side). Now we don't use "perl", or "sed", or whatever to re-quote arguments in t/t5510-fetch.sh. There's still some weirdness in that test, e.g. the whole behavior of set_config_tristate(), but I had to stop somewhere. Ævar Arnfjörð Bjarmason (10): fetch tests: remove redundant test_unconfig() fetch tests: use named, not positional parameters fetch tests: use "local", &&-chaining, style etc. fetch tests: add a helper to avoid boilerplate fetch tests: pass "mode" parameter first, pave way for "$@" fetch tests: pass a list, not a string of arguments fetch tests: remove lazy variable setup fetch tests: remove shelling out for previously "lazy" variables fetch tests: stop implicitly adding refspecs fetch tests: fix needless and buggy re-quoting t/t5510-fetch.sh | 289 +++++++++++++++++++++++++++++------------------ 1 file changed, 178 insertions(+), 111 deletions(-) -- 2.36.1.1239.gfba91521d90