From: Junio C Hamano Date: Fri, 17 Aug 2007 21:18:38 GMT Subject: Re: How do I manage this setup with git-svn and/or git remotes? Message-ID: <7vvebdg8r5.fsf@gitster.siamese.dyndns.org> In-Reply-To: Linus Torvalds 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. > 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.