SuSE help


Convert TeamForge repositories from CVS to Subversion

To convert TeamForge repositories from CVS to Subversion, use the ctf-cvs2svn.py script.

  1. Make sure Subversion is enabled on the TeamForge site.
  2. Do a pre-flight scan of the RCS files.
    • sudo RUNTIME_DIR/scripts/cvs2svn.py -p 1:2 --dumpfile /dev/null CVS_REPOSITORY_BASE/<cvs_repository>
  3. Convert the CVS data into a Subversion dump file.
    • sudo RUNTIME_DIR/scripts/cvs2svn.py --dumpfile=/path/to/final/dumpfile CVS_REPOSITORY_BASE/<cvs_repository>
    If you are converting large repositories, you may encounter a memory error. If that happens, pass the --use-rcs option to the this command as follows:
    • sudo RUNTIME_DIR/scripts/cvs2svn.py --dumpfile=/path/to/final/dumpfile --use-rcs CVS_REPOSITORY_BASE/<cvs_repository>
    Note: Like --use-rcs, there are various other options you can pass to cvs2svn.py as appropriate for the CVS repository you're converting.
  4. Load the dump file and convert the project.
    • sudo RUNTIME_DIR/scripts/ctf-cvs2svn.py --cvs-integration-name=<cvs_integration_name> --svn-integration-name=<svn_integration_name> --cvs-repository-name=<cvs_repository_name> --dumpfile=/path/to/dumpfile
    When there is already a Subversion repository with the same name as the CVS repository, provide a Subversion repository name explicitly using the --svn-repository-name option.
    • sudo RUNTIME_DIR/scripts/ctf-cvs2svn.py --cvs-integration-name=<cvs_integration_name> --svn-integration-name=<svn_integration_name> --cvs-repository-name=<cvs_repository_name> --dumpfile=/path/to/dumpfile --svn-repository-name=<svn_repository_name>
Note:
  • If the CVS repository has spaces, you must enclose it within quotes while running the script.
  • Every time you convert a repository, you need to restart the TeamForge site after the conversion.
  • In the case of an advanced mode TeamForge installation where SCM resides on a separate box, you need to add the <scm_host_ip> entry in the pg_hba.conf file of the TeamForge database.