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

Re: [PATCHv2 1/2] Support multiple virtual repositories with a single object store and refs

From
Junio C Hamano <gitster@pobox.com>
Date
May 26, 2011, 04:08 UTC
Message-ID
<7vsjs2yuh6.fsf@alter.siamese.dyndns.org>
In-Reply-To
<alpine.DEB.1.00.1105260239480.2701@bonsai2>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 9 quoted lines
>> Not that we know of.  Are we missing something?
>
> This is a change of protocol by my understanding:
>
> -- snip --
>  	if (sent_capabilities)
> -		packet_write(1, "%s %s\n", sha1_to_hex(sha1), path);
> +		packet_write(1, "%s %s%s\n", sha1_to_hex(sha1), refnameprefix, path);
> -- snap --

I think this is not a change in the protocol per-se, but rather a botched attempt to make refs/virt/one/refsheads/foo this side has appear as if it is refs/heads/foo to the other side. In other words, you probably spotted a bug.

When read with the "chroot" analogy of Peff and Shawn earlier in the thread in mind, shouldn't the sending end that is pretending that only a part of its ref namespace is actually the whole thing _stripping_ the prefix from the real namespace, rather than appending the extra prefix?

I've been down sick, feeling feverish, this afternoon, so I may be remembering what I understood while reading the code incorrectly, but that was the impression I got.

Previous: Johannes Schindelin
Message 11 of 11 in “[PATCHv2 1/2] Support multiple virtual repositories with a single object store and refs”
  1. Jamey SharpMay 24, 2011
  2. 2/2 Support virtual repositories in smart http-backend, specified by environmentJamey Sharp, May 24, 2011
  3. Junio C HamanoMay 24, 2011
  4. Johannes SchindelinMay 25, 2011
  5. Jamey SharpMay 25, 2011
  6. Junio C HamanoMay 25, 2011
  7. Johannes SchindelinMay 25, 2011
  8. Johannes SchindelinMay 25, 2011
  9. Josh TriplettMay 26, 2011
  10. Johannes SchindelinMay 26, 2011
  11. Junio C HamanoMay 26, 2011

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.