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

From: David Kastrup <[email-masked]>
Date: Fri, 17 Aug 2007 23:04:22 +0200

Linus Torvalds <[email-masked]> 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?

Different directory structure.  That can't easily be rectified as far
as I can see since the stuff still needs to get synched with
Subversion.

> 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.

The problem is the different location: root vs subdirectory.

>> With Subversion, I can actually merge files in different projects
>> of the repository even when they are in different directory levels.
>> Of course, since Subversion does not track any merge info, that is
>> not an accomplishment.
>
> Right. Git can do that too. It's called "patches".

Yup.  The question is just whether it is possible to do better than
that.

>> Well, that would be at least quite handy for propagating upstream
>> dsp fixes into project/great.  How do I merge one project into a
>> _subdirectory_ of another one?
>
> There's a special "subtree" merge that does exactly that: it
> basically is the normal recursive merge, except it merges into a
> subtree.

Sounds like just the thing.

> I think that's how Junio does the "git-gui" merges. Junio?

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum