On Fri, 25 Apr 2008, Junio C Hamano wrote: > Daniel Barkalow <barkalow@xxxxxxxxxxxx> writes: > > > John mentioned on IRC that clone works. > > > > $ git-ls-remote http://newartisans.com/git/ledger.git > > 96751442d9eda537480867e599e4c604663f4530 refs/heads/master > > 365baca5174232cc35e4ed190fd8ce93c3611c84 refs/heads/v2.4.1 > > f972a89073843fdbb2a1bef969d9ca70509d4bfe refs/heads/v2.5 > > 6a81d760dc4ab9028b27430124702c28c0b894ed refs/tags/cvs-20040410 > > fed3956a310a2ea8c8595b7fde7aaa0623492ca6 refs/tags/v0.1 > > ... > > > > $ git-ls-remote git://newartisans.com/ledger.git > > 96751442d9eda537480867e599e4c604663f4530 HEAD > > 96751442d9eda537480867e599e4c604663f4530 refs/heads/master > > 365baca5174232cc35e4ed190fd8ce93c3611c84 refs/heads/v2.4.1 > > f972a89073843fdbb2a1bef969d9ca70509d4bfe refs/heads/v2.5 > > 6a81d760dc4ab9028b27430124702c28c0b894ed refs/tags/cvs-20040410 > > fed3956a310a2ea8c8595b7fde7aaa0623492ca6 refs/tags/v0.1 > > ... > > > > Looks like either server-info.c:update_info_refs() needs to also list > > HEAD, or transport.c:get_refs_via_curl() needs to guess that $url/HEAD > > exists and fetch it to add to the list, or both. > > Wait a minute. How did "git fetch http://host/repo.git" work before C > rewrite? > > The reason I ask is because info/refs traditionally did not list HEAD and > fetch either would have failed to start walking from HEAD (iow, the issue > was very old), or it didn't care (iow, the issue is a regression after C > rewrite). I never managed to trace through the shell fetch code, but I suspect that it broke quite a long time ago (git-ls-remote.sh didn't list HEAD for http:// URLs, anyway). clone works because it uses entirely different code, and "git fetch origin" (when origin is an http URL) works, and "git fetch http://... branch" works (and is a workaround), and that's probably all that people use regularly. This only comes up because there's an automated fetch-and-build system that uses "<vcs> command <location>" to update, and it needed an actual quirk, rather than people just training their fingers to do things that work. -Daniel *This .sig left intentionally blank* -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html