new repo organization and merging advice needed
From: Mark Branson <mark_at_atmos.colostate.edu>
Date: Mon, 22 Feb 2010 17:00:28 -0700
I'm setting up a new SVN repository with some colleagues and wanted to get some expert feedback on how to best organize it as well as some ideas for merging strategies. First off I should say that I'm a beginner/intermediate SVN user for a different and much smaller project, so I'm just getting my feet wet with branches and tags and the like.
This new subversion repo will contain code for three separate computer models written in fortran 90, but the third model is a merged version of the first two. I'll call the first larger model AAA, the second smaller model BBB, and the merged model CCC. AAA contains many, many subdirs, and effectively CCC is a carbon-copy of AAA but it has a new subdir sd3 to hold most of the contents of BBB along with a few other related changes. The source tree of CCC looks something like:
But there's a few caveats:
And there are some other smaller changes necessary to the AAA source routines outside of subdir sd3 that are needed to create CCC.
The future development line will consist of some folks who will create branches within CCC that will get merged back to the trunk. There will also be other developers updating BBB and then subsequently creating updated versions of CCC. And we may at times be merging updated AAA versions to also make new versions of CCC, although this will be much less frequent.
I guess the "big" question is: Is there any way to automate (or partially automate) the series of steps necessary to merge model BBB into CCC within Subversion itself? Or am I stuck with using patch files? I'm aware of the concept of externals in SVN, but since subdir sd3 is not an exact mirror of model BBB I wasn't certain if this would work or not. Secondly, will the choice of how we arrange the subversion layout facilitate the merging of AAA + BBB to CCC in any way? i.e., do we want three separate repos for AAA, BBB and CCC or just set them up as three separate projects within the same repo?
This is an archived mail posted to the Subversion Users mailing list.