Migration from CVS to SVN
This page contains notes related to GRASS code migration (planned) from CVS to SVN.
Basic
- The SVN command line interface is just like CVS, many tasks are identical- just change the program name from cvs to svn.
Gotchas
- cvs2svn is known to break binary files (images) which were not imported into the CVS with the -kb flag. Luckily Glynn fixed most of these some months ago.
- Files using keyword substitution, such as $Date$ in the description.html files, will have to have support for that enabled manually, once per file (or write a find routine with | xargs svn ...).
$ svn propset svn:keywords "Date" filename.txt $ svn commit
- how to maintain timestamps of files? We want to keep the last modification date, not the date of local download
Testing SVN repository
Get copy of GRASS repository
rsync -r --times --links --bwlimit=200 rsync://rsync.intevation.de/grass/grass6 grass6-cvs
The testing SVN repository
- initial stage:
cvs2svn --use-cvs --no-default-eol --force-branch=releasebranch_6_2 -s grass6svn grass6
External links
- My Experiences With Subversion by Simon Tatham
- cvs2svn tool page
- Online book: Version Control with Subversion