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

Re: [PATCH 2/3] Different views on a repository

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Feb 25, 2010, 12:30 UTC
Message-ID
<4B866D60.6040306@drmicha.warpmail.net>
In-Reply-To
<201002251025.22881.agruen@suse.de>
Andreas Gruenbacher venit, vidit, dixit 25.02.2010 10:25:
Show 25 quoted lines
> On Thursday 25 February 2010 10:01:43 Michael J Gruber wrote:
>> Andreas Gruenbacher venit, vidit, dixit 24.02.2010 16:57:
>>> Add --view options in upload-pack and receive-pack so that a repository
>>> on the server side can be made to look like several independent
>>> repositories on the client side.
>>>
>>> This is implemented by transforming ref names: for example, with
>>> --view=one/, refs/heads/one/master on the server will look like
>>> refs/heads/master to the client, refs/tags/one/v1 will look like
>>> refs/tags/v1, etc.
>>>
>>> This allows to transparently share repositories on the server which
>>> have a lot of objects in common without complicating things for the
>>> client, and without breaking garbage collection.
>>
>> Just from this description, I can't see why the same can't be done with
>> appropriate refspecs. (A helper for doing that would be more welcome, of
>> course.)
> 
> You mean on the client side? The problem then is that a simple "git clone" 
> would not do the right thing anymore; you would still expose server-side 
> implementation details to clients. Clients shouldn't have to bother with this 
> added complexity. (They might not even have access to some of the views.) When 
> you do the mapping server-side, you can split or merge repositories as needed 
> without the clients even noticing.

But the client has to request a specific view, doesn't it? You have to tell all clients "don't just clone, use...", where the "..." don't seem to be part of the series yet. [I could see 0/3 on gmane only now, by the way.]

I just can't help the impression that this is a use case which does not need a new feature, at least not upload/receive-pack wise. It's more a matter of ensuring that all clients use a specific configuration (which you would have to with your patch as well, AFAICT), and this more general issue is creeping up again and again, with no agreeable solution so far.

Cheers, Michael

Previous: Andreas GruenbacherNext: Andreas Gruenbacher
Message 8 of 16 in “Different views on a repository”
  1. Andreas GruenbacherFeb 24, 2010
  2. 1/3 receive-pack: Two small code cleanupsAndreas Gruenbacher, Feb 24, 2010
  3. 2/3 Different views on a repositoryAndreas Gruenbacher, Feb 24, 2010
  4. 3/3 Different views on a repository: HEAD mappingAndreas Gruenbacher, Feb 24, 2010
  5. Shawn O. PearceFeb 24, 2010
  6. Michael J GruberFeb 25, 2010
  7. Andreas GruenbacherFeb 25, 2010
  8. Michael J GruberFeb 25, 2010
  9. Andreas GruenbacherFeb 25, 2010
  10. Junio C HamanoFeb 25, 2010
  11. Andreas GruenbacherFeb 26, 2010
  12. Andreas GruenbacherFeb 26, 2010
  13. Shawn O. PearceFeb 24, 2010
  14. James PickensFeb 25, 2010
  15. Adam BrewsterFeb 26, 2010
  16. Andreas GruenbacherFeb 26, 2010

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.