remote-curl: store the protocol version the server responded with
authorBrandon Williams <bmwill@google.com>
Thu, 15 Mar 2018 17:31:37 +0000 (10:31 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 15 Mar 2018 19:01:09 +0000 (12:01 -0700)
Store the protocol version the server responded with when performing
discovery. This will be used in a future patch to either change the
'Git-Protocol' header sent in subsequent requests or to determine if a
client needs to fallback to using a different protocol version.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
remote-curl.c
index 4086aa733b7d7a434af9fb2d9e8969663f0f77f2..c540358438bcc55a1771f1cc6b85e48f2eb5d099 100644 (file)
@@ -171,6 +171,7 @@ struct discovery {
        size_t len;
        struct ref *refs;
        struct oid_array shallow;
+       enum protocol_version version;
        unsigned proto_git : 1;
 };
 static struct discovery *last_discovery;
@@ -184,7 +185,8 @@ static struct ref *parse_git_refs(struct discovery *heads, int for_push)
                           PACKET_READ_CHOMP_NEWLINE |
                           PACKET_READ_GENTLE_ON_EOF);
 
-       switch (discover_version(&reader)) {
+       heads->version = discover_version(&reader);
+       switch (heads->version) {
        case protocol_v2:
                die("support for protocol v2 not implemented yet");
                break;