This week I migrated our codebase from CVS to Subversion!
I'd previously downloaded the Tigris cvs2svn migration tool onto my build server, read the documentation and performed a test run of the migration last week so I was pretty confident that I would have no problems.
These are the steps that I took to perform the migration:
Notes: For simplicity I'll assume that your CVS repository root is
/cvs and your Subversion directory is
/svn. The cvs2svn tool creates a new Subversion repository when you run the cvs2svn migration tool.
- Log in to the build server (a Debian Linux box) as root
- Change directory to /cvs and find the name of the module you want to migrate to a Subversion repository, I'll use the module
oldin my example.
- Choose a suitable name for your new Subversion repository (it doesn't have to be the same name as the CVS module) I'll use
newin my example.
- Run the following command, (it's best to redirect it's output to a log file to so you can check for errors at the end):
cvs2svn -s /svn/new /cvs/old
--force-branchoptions to specify how to deal with any problematic tags.
I performed the migration as the root user to ensure that we wouldn't have any problems with file permissions when reading or writing files, but we now need to change the permissions of the newly created Subversion repository to ensure that Apache has access to the files:
chown -R www-data:www-data /svn/new
Your new repository will now be available in the same way that you access your other Subversion repositories, just remember to use your newly migrated repository name!
Technorati Tags: CVS, Migration, Subversion, SVN, Debian, Linux, Andrew Beacock