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

Objective

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?

Progress

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.


References