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
Checkout GRASS (development branch) CVS repository
export CVSROOT=:pserver:grass-guest@intevation.de:/home/grass/grassrepository cvs -z3 co grass6
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