views:

173

answers:

2

We are in the process of using SVN on a project that has a core and modules. We want module development to be separate from the core, but the modules will be inside of the core files.

My question is this: How would you set up the repositories to manage something like this? Would you make all of your modules into their own repositories, so that if you want to work on a particular module, you need to check out a version of the core and the module you want to work on, or would you approach it in a different way.

Think something like WordPress.

Example: root/
  index.php
  file1.php
  file2.html
  something.php
  FolderA
  FolderB
  ModulesFolder/
    Module1Folder/
    Module2Folder/

A: 

We have had a repository for the core and then repositories for our sub-modules, and then use the subversion "externals" prop to have the core reference the modules, and it will automatically checkout/update the references projects according to your settings. So it is for example possible to keep the module at a given revision.

asgerhallas
A: 

We have a very similar system, and we use a single repository and break up the trunk and each branch for the core and the modules. We find it's easier to maintain versions, tags, branches, etc with such a structure. It also enables us to track everything with a single Trac installation. ( http://trac.edgewall.org/ )

Josh