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