From: Marco Costalba Date: Sun, 19 Mar 2006 21:40:41 GMT Subject: Re: Cloning from sites with 404 overridden Message-ID: In-Reply-To: <7vk6aqql9e.fsf@assigned-by-dhcp.cox.net> On 3/19/06, Junio C Hamano wrote: > "Marco Costalba" writes: > > > http://digilander.libero.it /mcostalba/scm/qgit.git/objects/8d/ea03519e75f47d > > > > Git does not understand object is missing and thinks what site sends > > _is_ the requested > > object and then founds that is (of course) corrupted. > > To be fair, the site is _not_ missing anything from HTTP > protocol perspective, because when git asks 8d/ea0351... file, > the server responds with a regular "HTTP/1.0 200 OK" response. > So it is _your_ repository that is corrupt -- instead of > correctly _lacking_ the file you should have removed with > prune-packed, it has a garbage file. > Currently my git repo layout is as follow $ pwd /qgit.git/.git $ ls branches/ description HEAD index objects/ refs/ config FETCH_HEAD hooks/ info/ ORIG_HEAD remotes/ $ ls objects 2c/ 32/ 53/ 5c/ 6a/ info/ pack/ The host copy should be the exact mirror of the local copy (I use sitecopy to sync host). I have also verified this directly accessing the host with ftp. So the 8d/ea0351... file is really not existent. BTW I have run git prune and git-prune-packed also. Finally accessing the missing object with a browser http://digilander.libero.it/mcostalba/ scm/qgit.git/objects/8d/ea03519e75f47da91108330dde3043defddd60 gives a pre-canned (in italian) 'Sorry page not found' stuff. So I really think the site "HTTP/1.0 200 OK" response it's a fake. Perhaps security related to avoid sniffing (just a guess because I have absolutely zero competence in security related things). Marco