Slicer3-lib-mirror
Overview
The Slicer3-lib-mirror is an svn repository on na-mic.org to store local copies of support libraries. It is used by the getbuildtest2.tcl script. As of July 2007, it is still experimental but should be functional on all platforms.
Motivation for this is that some tools that are in SourceForge (teem, tcl...) can cause nightly build errors because the site's repository goes down fairly frequently. Also, the mirror can contain local changes/patches that have not yet been incorporated in the upstream project.
Structure
The svn repositories are unique in that they contain a cvs checkout of the original library including the CVS directories. This means that if when you check these out with subversion, the local svn copy can be used to to perform a cvs update. The updated code can then be checked back into subversion. This is how new versions of the code are brought into slicer.
Updating a Library
For example, to update tcl to a new release:
~/slicer3/latest/Slicer3-lib/tcl/tcl$ cvs -q update -r core-8-4-15 -dP
Then delete the Slicer3-lib/tcl-build directory and re-run getbuildtest2.tcl to test the new libraries. If all goes well, then the updated code can be commited to the Slicer3-lib-mirrors repository.
Experimental/Issues
This is experimental because the idea of having a 'live' cvs tree checked into svn may not actually work well in the long term.
For example, new/deleted files and conflicts between local patches and updated versions need to be resolved manually.
In addition, some of the upstream repositories may (will?) eventually switch to svn. If and when this happens, we can look as svn mirroring tools. E.g. [1] and [2]