From: Jeff King Date: Tue, 02 Dec 2008 02:36:43 GMT Subject: Re: [PATCH 5/6 (v2)] upload-pack: send the HEAD information Message-ID: <20081202023643.GA6804@coredump.intra.peff.net> In-Reply-To: <7v1vwrqpvf.fsf@gitster.siamese.dyndns.org> On Mon, Dec 01, 2008 at 06:20:52PM -0800, Junio C Hamano wrote: > I think sending 0{40} would break older clients, but older clients cannot > clone from an empty repository anyway, so that should not be so bad. I > however do not think it is such a big thing to be able to clone void > anyway. > > You just have to train yourself to announce that your repository is > clonable _after_ making it actually clonable. I disagree. 99% of the time we see people complain about this, it is not "I tried to announce my repo to people but it didn't have any commits" but rather "why must I hack, init remote, then push, instead of init remote, hack, push"[1]. That is, some segment of people (myself included) want to say first "I'm starting a new project, and so I'm going to create a spot for it on my server". Of course we can train ourselves to do it in the other order, but it is an unnecessary complication. -Peff [1] Actually, it is more than just arbitrary preference. It is less typing to do: ssh remote 'mkdir foo && cd foo && git init --bare' git clone remote:foo hack hack hack; commit git push than git init hack hack hack; commit ssh remote 'mkdir foo && cd foo && git init --bare' git push git remote add -m refs/heads/master origin remote:foo