My team is currently working on two projects, each having a separate svn repository with standard layouts like this:
Project1/
Trunk
Branches/
module1
module2(ext)
Tags
Project2/
Trunk/
Branches/
module1
module2(ext)
Tags
Each project originated from a common ancestor at some point in time. It seems to me that using git as version control would be natural, since some bug fixes and modules should be applied to both projects. Today the best we can do is share some external modules (as module2 seen in the example), and manage those as separate svn repositories. This is fine as long as we make our externals perfectly generic, but it won't allow sharing changes in all other - different but not so different - modules (like module1).
Is there a way to migrate both projects to one git repository, having the trunk and branches of each as a branch like this:
COMMON_PROJECT_REPO Ancestor |____________ | \ Project1 Project2 | | | | __/| |\__ | | | | | | | | br1 | | br2
And would you consider this the right layout?
How would I include my externals as folders in my git repository?
- Am I approaching the situation in the wrong way?
Thank you!