Appendix B. CVS Repository Migration

Table of Contents

Requirements
Running cvs2svn.py

Since Subversion aims to be the successor to CVS, it only makes sense to provide tools to help that migration. Subversion has a script that migrates data from a CVS repository to a Subversion repository. Yes, you can take your CVS history with you into the brave new world.

Requirements

The tool is called cvs2svn.py, and it's a python script that lives within Subversion's source tree in the tools subdirectory. In order to run this program, you need a number of external things:

python 2.0

Make sure you have python 2.0 or later installed. You can get the latest from http://www.python.org/.

rcsparse.py

This is a python module for parsing RCS files, and is part of the ViewCVS project. It's needed to read your CVS repository. For convenience, a copy is provided in the same directory as cvs2svn.py, although a more recent version may be available from the ViewCVS project— http://viewcvs.sf.net/.. Simply drop this module into a place where python can find it, somewhere like /usr/local/lib/python2.2/.

svn python bindings

The SWIG-generated python bindings to the Subversion libraries must be installed. In particular, cvs2svn.py needs to make calls into libsvn_fs so it can commit data into a Subversion repository. (See the section called “Using Languages Other than C and C++”.)