Notes on creating and setting up a subversion repository

Published: Tuesday, 8 August 2006

Create the repository

Choose a repository root, all subversion files will exist inside here.

svnadmin.exe create /d/svnrepo

Project structure

Decide on the subversion project structure. We opted for multiple repositories, because we have different projects with different people working on them. See this entry on repository layout. You have to decide on many to one projects to repository, or one to one project to repository.

Migrate a repository from CVS

Download cvs2svn. The original cvs2svn site has been decommissioned.

Take a copy of your existing CVS repository and place it locally so you can run the cvs2svn script.

We had decided that each CVS module will become one subversion repository, and that we wanted our subversion repository to be inverted. This allows people to easily checkout the project they are working on.

Migrate each module separately

For each module, run cvs2svn: e.g.

cvs2svn -s /d/svnrepo/magicmonster.com /f/home/cvs/magicmonster.com

edit svnserve.conf for each repository

For now, we are running this in cygwin, so it contains:

anon-access = none
password-db = passwd

Remember that you have to do this configuration for each repository

edit passwd for each repository

[users]
harry = harryssecret
sally = sallyssecret

Remember that you have to do this configuration for each repository

Start subversion

svnserve.exe -d -r /d/svnrepo/

Now users are able to access the repository using your hostname:

svn list svn://brownfang/magicmonster.com