Notes on creating and setting up a subversion repository

1. Create the repository

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

svnadmin.exe create /d/svnrepo

2. 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.

3. Migrate repository from CVS

Go to, and download cvs2svn.

Take a copy of your existing CVS respository 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.

4. Migrate each module separately

For each module, run cvs2svn for each module: e.g.

/cvs2svn -s /d/svnrepo/ /f/home/cvs/

5. 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

6. edit passwd for each repository


    harry = harryssecret
    sally = sallyssecret

Remember that you have to do this configuration for each repository

7. Start subversion

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

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

svn list svn://brownfang/