views:

18

answers:

2

I'm part of a team that operates a portal for our company. There are ~200 small, what we call applications, inside of the portal. One may be to submit receipts, another to submit a timesheet, another to see activities going on, etc.

Each of these applications is fairly separate from the others, so we've created individual trunk/branch/tags folders for each of them. This way they can be developed and released individually without everybody on the team having to agree on a time to deploy the entire portal at once. Keeping each dev instance of the portal up to date is nearly impossible, because the only way to get it to fit is to check out each trunk into a subfolder.

This is nice from a separation point of view, but is very messy when we want to set up a new developer with a copy of the entire application to run on their local machine.

Do we need to just write a sophisticated huge build script to take each trunk and place its contents in the appropriate location in the context of the web application?

A: 

A script to setup the initial environment is probably the best. Solutions like using Subversion itself to set it up fail once you start switching to branches.

Sander Rijken
+1  A: 

Probably you need to create a separate branch ( say "portal") which can have svn:externals to all the other other application. This way checking out portal will give you the whole environment. You can extend this idea and branch/tag portal itself. Writing a script to set the svn:externals for creating a "portal" branch might be a good idea too.

Version Control Buddy
@Version Control Buddy: You really are my version control buddy. This is exactly the kind of thing I was looking for but didn't know exists.
RenderIn