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
Linus Torvalds <torvalds@linux-foundation.org>
Date
Aug 17, 2007, 18:53 UTC
Message-ID
<alpine.LFD.0.999.0708171142510.30176@woody.linux-foundation.org>
In-Reply-To
<86d4xmxbjf.fsf@lola.quinscape.zz>
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.

> 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".
> And that is the problem here: in this case it does not make sense to
> see it as a separate project, and in particular, it needs to be in
> synch with the tags/branches of the superproject, and particularly
> while I am using git-svn.

I do agree that the "git svn" interaction may end up making it unworkable, if only because git-svn simply doesn't know/understand about submodules. But the submodule *would* be well-specified by the tags and branches in the superproject, so that shouldn't be a problem in itself.

Show 13 quoted lines
> > Another alternative is to do what git has long done with "gitk": you
> > can maintain a separate project and just merge it directly into
> > another git project, and it works fine that way, but it gets
> > impossible to merge back and forth between the two projects (you can
> > only merge one way: make all the major changes in the "dsp" project,
> > and then you can just merge it into the project that uses it (but if
> > you fix things in the bigger project, you can't merge the fixes
> > back, you'll have to export the fixes as patches and do them in the
> > "dsp" tree).
> 
> 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. I think that's how Junio does the "git-gui" merges. Junio?

			Linus
Previous: David KastrupNext: David Kastrup
Message 4 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.