I don't think you've heard of "git update-server-info".
It creates a few index files which speed up the job considerably.
(It's typically run from the post-update hook in the shared repository.)
Posted Apr 3, 2011 7:37 UTC (Sun) by jrn (subscriber, #64214)
[Link]
Presumably he has, since git refuses to fetch over HTTP without it.
Perhaps the servers you've been connecting to use the (relatively) new "smart" HTTP support, which negotiates which objects to send using a CGI script.