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 <[email protected]>
- 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