On 3/19/06, Junio C Hamano [off-list ref] wrote:
"Marco Costalba" [off-list ref] writes:
quoted
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
<local master copy>/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