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

Re: How do I manage this setup with git-svn and/or git remotes?

From
David Kastrup <dak@gnu.org>
Date
Aug 17, 2007, 21:32 UTC
Message-ID
<85mywpx2wl.fsf@lola.goethe.zz>
In-Reply-To
<7vvebdg8r5.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 21 quoted lines
> Linus Torvalds <torvalds@linux-foundation.org> writes:
>
>> On Fri, 17 Aug 2007, David Kastrup wrote:
>>> 
>>> But it isn't an independent git project: the superproject has its
>>> _own_ copy of dsp, with its _own_ specific commits and fixes that are
>>> not supposed to ever end up in the dsp "mothership". 
>>
>> Sure. And that's different from any git "branch" exactly how?
>>
>> So you'd have different branches in the superproject - the way you always 
>> have when you have two copies of a git project. And then you merge between 
>> the two at will.
>
> My reading of the project David is talking about is that its dsp
> project which is a "subproject" part gets non generic commits within
> the context of the superproject --- which means (1) you would have
> branches in the subproject not superproject, and (2) once you did
> that, the subproject is not really a subproject anymore, as you
> cannot merge that back to the standalone dsp project without
> dragging the non-generic bits along with it.

Ok, I should perhaps should not make things harder than they are: the superprojects, being particular to one customer each, don't really branch (except that git-svn makes a git branch from every Subversion tag). The subproject is the one that has considerable branching and merges. What usually gets pulled into the superproject is a copy of a stable subproject branch. Once this copy is in, only fixes (from the stable branch) or features (from the development branch) that the customer definitely needs are merged into the superproject. While there might happen some subproject work in the customer branch, this mostly happens during bugfixing for the customer, and the changes are typically pulled back into the subproject proper at some point of time. Inside of the subproject tree, there is really no superproject _development_ going on.

Show 8 quoted lines
>> There's a special "subtree" merge that does exactly that: it
>> basically is the normal recursive merge, except it merges into a
>> subtree. I think that's how Junio does the "git-gui" merges. Junio?
>
> Yes.  It has exactly the same semantics and limitations with the
> gitk merge, but just merges into a sub directory.  Shawn cannot
> easily pull the changes done inside git.git repository back to
> git-gui.git proper.

Well, the other direction would be the most important one: merging or cherrypicking selected changes in the subproject branches into the superproject copy of the subproject.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum
Previous: Junio C HamanoNext: David Kastrup
Message 7 of 10 in “How do I manage this setup with git-svn and/or git remotes?”
  1. David KastrupAug 17, 2007
  2. Linus TorvaldsAug 17, 2007
  3. David KastrupAug 17, 2007
  4. Linus TorvaldsAug 17, 2007
  5. David KastrupAug 17, 2007
  6. Junio C HamanoAug 17, 2007
  7. David KastrupAug 17, 2007
  8. David KastrupAug 18, 2007
  9. Jakub NarebskiAug 18, 2007
  10. David KastrupAug 19, 2007

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.