Re: [PATCH v4 1/2] transport: die if server options are unsupported
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Apr 12, 2019, 20:12 UTC
- Message-ID
- <20190412201228.GA15936@szeder.dev>
- In-Reply-To
- <598b2de0162e240521f04d40d41eb11843be7198.1555098572.git.jonathantanmy@google.com>
On Fri, Apr 12, 2019 at 12:51:21PM -0700, Jonathan Tan wrote:
[Reordering the diffs...]
Show 14 quoted lines
> diff --git a/transport.c b/transport.c
> index e078812897..77446119da 100644
> --- a/transport.c
> +++ b/transport.c
> @@ -252,6 +252,14 @@ static int connect_setup(struct transport *transport, int for_push)
> return 0;
> }
>
> +static void die_if_server_options(struct transport *transport)
> +{
> + if (!transport->server_options || !transport->server_options->nr)
> + return;
> + advise(_("see protocol.version in 'git help config' for more details"));
> + die(_("server options require protocol version 2 or later"));These two messages are translated ...
Show 14 quoted lines
> diff --git a/t/t5702-protocol-v2.sh b/t/t5702-protocol-v2.sh > index db4ae09f2f..1e8357a4c7 100755 > --- a/t/t5702-protocol-v2.sh > +++ b/t/t5702-protocol-v2.sh > @@ -182,6 +182,13 @@ test_expect_success 'server-options are sent when using ls-remote' ' > grep "server-option=world" log > ' > > +test_expect_success 'warn if using server-option with ls-remote with legacy protocol' ' > + 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 && > + grep "server options require protocol version 2 or later" err
... therefore these should be 'test_i18ngrep'. This applies to the other tests in this patch series as well.
Show 23 quoted lines
> +' > > test_expect_success 'clone with file:// using protocol v2' ' > test_when_finished "rm -f log" && > @@ -251,6 +258,18 @@ test_expect_success 'server-options are sent when fetching' ' > grep "server-option=world" log > ' > > +test_expect_success 'warn if using server-option with fetch with legacy protocol' ' > + test_when_finished "rm -rf temp_child" && > + > + git init temp_child && > + > + 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 && > + grep "server options require protocol version 2 or later" err > +' > + > test_expect_success 'upload-pack respects config using protocol v2' ' > git init server && > write_script server/.git/hook <<-\EOF &&