From: Junio C Hamano Date: Wed, 28 Jan 2009 03:09:13 GMT Subject: Re: Bad objects error since upgrading GitHub servers to 1.6.1 Message-ID: <7v3af4yvmu.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20090128020220.GE1321@spearce.org> "Shawn O. Pearce" writes: > PJ Hyett wrote: >> >> Is there any possibility to have the server code in an upcoming >> release account for clients running 1.6.1? > > I can't think off-hand of a way for the server to know what version > the client is. There's nothing really different in the protocol > between a 1.6.1 client and a v1.5.5-rc0~44^2 (introduction of > include-tag) or later client. Hmm, I am puzzled. I do not know how 41fa7d2 (Teach git-fetch to exploit server side automatic tag following, 2008-03-03), which is about the conversation between fetch-pack and upload-pack, is relevant to the issue at hand, which is about the conversation between send-pack and receive-pack. In send-pack receive-pack protocol, the server talks first before listening to the client, and the .have data is in this first part of the conversation. By the way, I think Documentation/technical/pack-protocol.txt needs to be updated. send-pack receive-pack protocol uses C and S to mean receiver and sender respectively. We should at least s/C/R/ that part, and possibly add description about ".have" thing.