[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

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:

  source/
    subdir1/
    subdir2/
    subdir3/
      sd1/
      sd2/
      sd3/ <-- will contain the BBB source code
    subdir4/

But there's a few caveats:
1) Only about 50% of the source files from BBB get placed into sd3.
2) Some the BBB source files that are placed into the sd3 subdir require some coding changes that facilitate BBB becoming a module of CCC.
3) The file extensions are different. BBB source files extensions are .f90, while everything in AAA and CCC are .F90.

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?

Thanks!
Mark Branson
Received on 2010-02-23 02:48:17 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.