2008 Summer Project Week:CVS SVN Synchronization
- 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).
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.