2008 Summer Project Week:CVS SVN Synchronization

From NAMIC Wiki
Jump to: navigation, search
Home < 2008 Summer Project Week:CVS SVN Synchronization

Key Investigators

  • Sebastien Barre
  • Steve Pieper
  • Bill Hoffmann
  • Will Schroeder
  • Jim Miller


To discuss options for supporting access to CVS repositories for people behind firewalls (includes corporate, overseas, hotels, etc).

Approach, Plan

The current approach is based on the Slicer3-lib-mirror repository which contains a full CVS checkout of a particular state of a toolkit checked into an SVN repository (see link for details).

Updating the SVN repository is currently done manually leading to the versions getting out of sync. A nightly or continuous update is possible, but unless done carefully could lead to a overwhelming of the SVN repository.

Options to consider:

  • review current cvs to svn conversion scripts. Downside is that these take several hours to run for a large repository because they covert all history. When last checked weren't these also reported to require some manual intervention for some cases? (SP)
  • write an automated version of the current approach which deletes the old versions completely (to save on database size).
  • other options?


The current approach is successfully used by the experimental getbuildtest2.tcl build script.

This week we discussed options and decided that there is now ideal solution, but making a nightly export of cvs-based repositories into an svn mirror will work for the majority of cases. Kitware will set up a cron job to implement this functionality for CMake, ITK, VTK, and KWWidgets.