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
Jamey Sharp <jamey@minilop.net>
Date
May 25, 2011, 15:44 UTC
Message-ID
<20110525154405.GA4839@oh.minilop.net>
In-Reply-To
<alpine.DEB.1.00.1105250847380.2701@bonsai2>
On Wed, May 25, 2011 at 08:51:07AM +0200, Johannes Schindelin wrote:
Show 24 quoted lines
> On Tue, 24 May 2011, Junio C Hamano wrote:
> > Jamey Sharp <jamey@minilop.net> writes:
> > > Given many repositories with copies of the same objects (such as 
> > > branches of the same source), sharing a common object store will avoid 
> > > duplication.  Alternates provide a single baseline, but don't handle 
> > > ongoing activity in the various repositories.  Git safely handles 
> > > concurrent accesses to the same object store across repositories, but 
> > > operations such as gc need to know about all of the refs.
> > >
> > > This change adds support in upload-pack and receive-pack to simulate 
> > > multiple virtual repositories within the object store and references 
> > > of
> > 
> > Is it just me to read the above and then have to re-read the first 
> > sentence of the second paragraph over and over again?  There seems to be 
> > a huge gap in logic flow, probably largely due to the use of undefined 
> > term "virtual repository".
> 
> I had to read the example call to understand that 'virtual repository' 
> means 'one real catch-em-all repository'.
> 
> I wonder about two things, though:
> 
> 1) Would teaching git clone to understand "-t this/repo/*" help?

Sure, that would be an improvement for our use case, but we expect to have lots of these virtual repositories, so I think we'd rather have the server-side help we proposed in these patches. Seems to me that wildcards in git-clone would be nice for other use cases, though.

> 2) You're extending the protocol by appending the prefix after the SHA-1, 
>    and I stopped halfway through the patch trying to find information 
>    which I now think should be in the commit message: a) why? b) why does 
>    it not break when one of the two sides is a previous version?

I don't think we're changing the protocol in any way...? In all of our tests, the client was Debian's package of git version 1.7.5.1. And note that none of these patches touch client-side protocol code; it's all in the server-side upload-pack and receive-pack.

If we have changed the protocol, it was unintentional and we should fix it.

Jamey
Previous: Johannes SchindelinNext: Junio C Hamano
Message 5 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.