tags:

views:

87

answers:

1

I've been using SVN for all my projects. Sometimes project B is originating as a copy from project A. When project A has a generic change, I can use svn merge A within directory B and it will merge those changes.

Now, if I wanted to use git. I don't like having all my projects in the same repository since I then have to clone everything and can't pick just one project like in SVN. But having one repository for each project, how do I go about doing the same like I did earlier with SVN?

The question is: What's the best way to structure it if I want several subprojects that really all relates to one original project and to keep them in sync? And that I also want to be able to check them out separately

A: 

If you have two projects, proj1 and proj2 and want to merge changes of proj1 into proj2, you would do it like this:

# in proj2:
git remote add proj1 path/to/proj1
git fetch proj1
git merge proj1/master # or whichever branch you want to merge

I believe this does the same thing as what you were doing with SVN.

Olivier
But will merge change #2 track that we already merged change #1 doing it this way?I had to re-merge all changes (and correct conflicts) for all changes every time a new change was added if I remember correct. This didn't happen the SVN-way
baloo
Of course, merge works as usual. You do not have to "remerge all changes". This is nothing more than the usual merge, the one that you would use with a distant server.
Olivier