diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-05-08 17:37:25 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-05-08 17:37:25 +0200 |
commit | 6d3df8ef01b95539539cd5b22304eff27ea1322b (patch) | |
tree | c5caa63baa46af04fded5b616e9b41b1fe362f92 /transport.c | |
parent | Merge branch 'tb/unexpected' (diff) | |
parent | clone: send server options when using protocol v2 (diff) | |
download | git-6d3df8ef01b95539539cd5b22304eff27ea1322b.tar.xz git-6d3df8ef01b95539539cd5b22304eff27ea1322b.zip |
Merge branch 'jt/clone-server-option'
"git clone" learned a new --server-option option when talking over
the protocol version 2.
* jt/clone-server-option:
clone: send server options when using protocol v2
transport: die if server options are unsupported
Diffstat (limited to 'transport.c')
-rw-r--r-- | transport.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/transport.c b/transport.c index 365ea574c7..f1fcd2c4b0 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")); +} + /* * Obtains the protocol version from the transport and writes it to * transport->data->version, first connecting if not already connected. @@ -286,6 +294,7 @@ static struct ref *handshake(struct transport *transport, int for_push, break; case protocol_v1: case protocol_v0: + die_if_server_options(transport); get_remote_heads(&reader, &refs, for_push ? REF_NORMAL : 0, &data->extra_have, @@ -362,6 +371,7 @@ static int fetch_refs_via_pack(struct transport *transport, break; case protocol_v1: case protocol_v0: + die_if_server_options(transport); refs = fetch_pack(&args, data->fd, refs_tmp ? refs_tmp : transport->remote_refs, to_fetch, nr_heads, &data->shallow, |