Search code examples
svnbuild-processcvstaggingcvs2svn

SVN layout -- best practice


In CVS we have on project with multiple directories in there. There is a nightly build that has to pull in stuff from different directory in the same CVS project in order to build the nightly build. So I should have that in mind and I have to modify the build script to check things out from different repositories if we move to SVN.

I read the related SVN QA, but I have my own question that I need the answer for.
I can do:

/trunk
/tags
/branches
/3rdparty

Where everything we develop comes out of the /trunk and any 3rdparty that we don't change goes to /3rdparty.

All good, now the nightly build script has to tag the trunk, checkout the tag, check out the required 3rdparty stuff into proper directories, then start the build process.
The build result (compiled stuff) can stay on NFS mount for some period so Integration team can go back 2 weeks and recreate problems.

Are all my bases covered?


Solution

  • The SVN redbook here includes alot of information on layouts for different project types and how to manage them.

    You may also want to use hooks/triggers/externals to pull in data from an independent repo called '3rd party'. So when a developer checks out one repo, he gets the 3rd part too. There are tons of ways to separate concerns but present a unified repo from component ones.

    Good luck