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

From: David Kastrup <[email-masked]>
Date: Sun, 19 Aug 2007 18:04:46 +0200

Jakub Narebski <[email-masked]> writes:

> David Kastrup wrote:
>
>> Linus Torvalds <[email-masked]> writes:
>> 
>>> On Fri, 17 Aug 2007, David Kastrup wrote:
>>>> 
>>>> Now is there any chance to set up a git structure that will me
>>>> allow to let _git_ perform merges between the standalone dsp
>>>> project and the part that has started off as a copy of it in a
>>>> subdirectory from projects/great, so that I have a merge history in
>>>> my git mirror?
>>>
>>> Yes. That's what git "submodule" support is all about.  You could
>>> create that "dsp" project as its own git project, and then include
>>> it within the bigger project as a submodule. Then, that "dsp" thing
>>> is really a totally independent git project in its own right, with
>>> git support for just "tying" it into the superproject.
>> 
>> 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".  There are
>> sometimes cross merges, but the stuff in the "dsp" subdirectory of
>> "great" is maintained completely together with the branches of
>> "great": tags, branches and all.
>
> Independent git project means independent clone of "dsp" repository,
> perhaps a fork of "dsp" repository with some (superproject) specific
> commits. Which is attached as subritectory of superproject.

Well, the point I was trying to make is that as a subdirectory of the
superproject (in Subversion), the tagging and branching structure is
supposed to follow that of the superproject.  I don't understand
submodules well enough to see how much this is the case.

To be fair: merging will only happen on the trunk of the superproject,
but possibly with different branches of the dsp project.  So this is
likely not going to be much of an issue.

On the other hand, it is unclear what git-svn would think about that
sort of setup.  Since a submodule setup would imply creating
appropriate branches in the dsp module, anyway, I can just import the
superproject dsp as one remote branch into the dsp git repository and
do the merging there.  There is no need to make dsp an actual
submodule of the superproject for that as long as I am working with
git-svn.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum