Thanks, Junio, for spotting the test_must_fail interaction with environment variables. I've updated that, and I also noticed that the first patch's commit message title should say "die" instead of "warn", so here is another version. Jonathan Tan (2): transport: die if server options are unsupported clone: send server options when using protocol v2 Documentation/fetch-options.txt | 3 ++- Documentation/git-clone.txt | 8 +++++++ builtin/clone.c | 6 +++++ t/t5702-protocol-v2.sh | 41 +++++++++++++++++++++++++++++++++ transport.c | 10 ++++++++ 5 files changed, 67 insertions(+), 1 deletion(-) Range-diff against v3: 1: 63049081c9 ! 1: 598b2de016 transport: warn if server options are unsupported @@ -1,6 +1,6 @@ Author: Jonathan Tan <jonathantanmy@xxxxxxxxxx> - transport: warn if server options are unsupported + transport: die if server options are unsupported Server options were added in commit 5e3548ef16 ("fetch: send server options when using protocol v2", 2018-04-24), supported only for @@ -22,7 +22,7 @@ ' +test_expect_success 'warn if using server-option with ls-remote with legacy protocol' ' -+ GIT_TEST_PROTOCOL_VERSION=0 test_must_fail git -c protocol.version=0 \ ++ test_must_fail env GIT_TEST_PROTOCOL_VERSION=0 git -c protocol.version=0 \ + ls-remote -o hello -o world "file://$(pwd)/file_parent" master 2>err && + + grep "see protocol.version in" err && @@ -40,7 +40,7 @@ + + git init temp_child && + -+ GIT_TEST_PROTOCOL_VERSION=0 test_must_fail git -C temp_child -c protocol.version=0 \ ++ test_must_fail env GIT_TEST_PROTOCOL_VERSION=0 git -C temp_child -c protocol.version=0 \ + fetch -o hello -o world "file://$(pwd)/file_parent" master 2>err && + + grep "see protocol.version in" err && 2: f59b8244eb ! 2: 48bdd462c4 clone: send server options when using protocol v2 @@ -105,7 +105,7 @@ +test_expect_success 'warn if using server-option with clone with legacy protocol' ' + test_when_finished "rm -rf myclone" && + -+ GIT_TEST_PROTOCOL_VERSION=0 test_must_fail git -c protocol.version=0 \ ++ test_must_fail env GIT_TEST_PROTOCOL_VERSION=0 git -c protocol.version=0 \ + clone --server-option=hello --server-option=world \ + "file://$(pwd)/file_parent" myclone 2>err && + -- 2.21.0.392.gf8f6787159e-goog