fetch-pack: send server options after command
authorJonathan Tan <jonathantanmy@google.com>
Wed, 22 May 2019 20:08:22 +0000 (13:08 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 28 May 2019 18:01:07 +0000 (11:01 -0700)
commit5b204b7df3ed7e97040d40db9d7c31a0a645af15
tree08a296c472b4d725cf946d08c05732e6124d364d
parent6e98305985555ced61971ca0170dd976554193c0
fetch-pack: send server options after command

Currently, if any server options are specified during a protocol v2
fetch, server options will be sent before "command=fetch". Write server
options to the request buffer in send_fetch_request() so that the
components of the request are sent in the correct order.

The protocol documentation states that the command must come first. The
Git server implementation in serve.c (see process_request() in that
file) tolerates any order of command and capability, which is perhaps
why we haven't noticed this. This was noticed when testing against a
JGit server implementation, which follows the documentation in this
regard.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fetch-pack.c