A few tests in t5702 check whether Git sets GIT_PROTOCOL by redirecting the output of env to a file and grepping it. Jeff King wrote that GNU coreutils 9.10 prints GIT_PROTOCOL=version=2, while 9.12 prints GIT_PROTOCOL='version=2', because the presence of "=" now triggers quoting.

King could have loosened the regex, but instead had the shell invoked for the server-side command print the value of the one variable the tests care about. He said the risk was getting the quoting of "$" wrong, since an unescaped $GIT_PROTOCOL would expand empty in the outer layer and falsely pass the tests that expect it to be empty. He said the upload-pack test shows it is done correctly.

Collin Funk, a coreutils contributor, explained that 9.12 quotes env and printenv output so that values containing whitespace, special characters or newlines are unambiguous. Without -0, he said, the old output made any variable with a newline look like several variables.

Todd Zullinger pointed to the NEWS entry saying env now honors QUOTING_STYLE, defaulting to shell-escape. He noted that setting QUOTING_STYLE=literal gives unquoted values if Git wants env elsewhere. Junio C Hamano read the patch and said it correctly checks the value of $GIT_PROTOCOL in the custom commands. King also corrected Zullinger's reading of one test: the fetch test checks that version=2 is sent, and the others check that it is not.