Re: Problem with git fetch over http://

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux