git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: 1.5.6.5 fails to clone git.kernel.org/[...]/rostedt/linux-2.6-rt

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 9, 2009, 08:58 UTC
Message-ID
<7vpriw26uo.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<E1LLAn5-0001JM-00@alva.home>
Tim Shepard <shep@alum.mit.edu> writes:
Show 26 quoted lines
> I have git 1.5.6.5 installed from the Debian/lenny package.
>
> Poking around in http://git.kernel.org/ looking for a git repository
> that might have the latest -rt development happening, I found
>
>   http://git.kernel.org/?p=linux/kernel/git/rostedt/linux-2.6-rt.git
>
> which looked promising.
>
> But when I tried cloning it using:
>
>     git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-rt.git linux-2.6-rt
>
> it pulled several hundred megabytes through my (rather slow) DSL line
> and then printed out
>
>   error: Trying to write ref refs/tags/v2.6.11 with nonexistant object 5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c
>   fatal: Cannot update the ref 'refs/tags/v2.6.11'.
>
> and then removed everything it had just pulled.
>
> Looking at http://git.kernel.org/?p=linux/kernel/git/rostedt/linux-2.6-rt.git;a=tags
> I see that apparently v2.6.11 and v.2.6.11-tree both point at a tree
> object and not a commit.
>
> Is this a bug in git?

It is not a problem for the tag pointing to a tree, but linux-2.6-rt.git tree uses (like everybody else) objects/alternates to borrow objects from the repository of Linus.

I think we lost the alternate object store support when git-fetch was rewritten from the original shell script (that did support fetching from such a repository over rsync:// transport) to a reimplementation in C, with commit b888d61 (Make fetch a builtin, 2007-09-10).

Later, cd547b4 (fetch/push: readd rsync support, 2007-10-01) attempted to resurrect some rsync support (b888d61 lost rsync support completely for git-fetch), but introduced these lines in transport.c:

	/* NEEDSWORK: handle one level of alternates */
	result = run_command(&rsync);

These have not been touched ever since, and then finally commit 8434c2f (Build in clone, 2008-04-27) killed support of cloning from a repository that uses alternates for rsync transport for git-clone (before that, the shell script version had a special case to still allow such operation over rsync).

It appears practically nobody uses rsync:// transport anymore these days; you are unfortunately the first one who noticed it.

Previous: Tim ShepardNext: Tim Shepard
Message 2 of 5 in “1.5.6.5 fails to clone git.kernel.org/[...]/rostedt/linux-2.6-rt”
  1. Tim ShepardJan 9, 2009
  2. Junio C HamanoJan 9, 2009
  3. Tim ShepardJan 9, 2009
  4. Johannes SchindelinJan 14, 2009
  5. Miklos VajnaJan 9, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.