Migration from CVS to SVN: Difference between revisions
Jump to navigation
Jump to search
(→MIME types: moved to discussion page) |
(→GRASS OSGeo SVN repository structure: described (see discussion page)) |
||
Line 47: | Line 47: | ||
== GRASS OSGeo SVN repository structure == | == GRASS OSGeo SVN repository structure == | ||
/grass-svn | |||
| | |||
+---/grass | |||
| | | |||
| +---/trunk (grass6 CVS HEAD) | |||
| | | |||
| +---/branches | |||
| | | | |||
| | +---/releasebranch_5_x (note: 5_5 based on grass5 CVS HEAD) | |||
| | | | |||
| | +---/releasebranch_6_x | |||
| | | |||
| +---/tags | |||
| | |||
|---/grass-addons | |||
| | |||
+---/grass-web | |||
| | | |||
| +---/trunk | |||
[http://josef.fsv.cvut.cz/~landa/grass-cvs2svn/ Scripts]: | [http://josef.fsv.cvut.cz/~landa/grass-cvs2svn/ Scripts]: | ||
./grass-cvs2svn-base.sh | ./grass-cvs2svn-base.sh | ||
./grass-cvs2svn-s2.sh | ./grass-cvs2svn-s2.sh | ||
Line 59: | Line 78: | ||
[[Image:Grass7-development-svn.png|center]] | [[Image:Grass7-development-svn.png|center]] | ||
== External links == | == External links == |
Revision as of 23:04, 5 December 2007
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
or
$ find . -name '*.c' | xargs svn propset svn:keywords "Date" $ find . -name '*.html' | xargs svn propset svn:keywords "Date" $ svn commit
- how to maintain timestamps of files? We want to keep the last modification date, not the date of local download
GRASS CVS repository structure
/grass-cvs | +---/CVSROOT | +---/grass | +---/grass51 | +---/grass6 | +---/grass_doc | +---/libgrass | +---/newsletter | +---/programgrass50 | +---/web
GRASS OSGeo SVN repository structure
/grass-svn | +---/grass | | | +---/trunk (grass6 CVS HEAD) | | | +---/branches | | | | | +---/releasebranch_5_x (note: 5_5 based on grass5 CVS HEAD) | | | | | +---/releasebranch_6_x | | | +---/tags | |---/grass-addons | +---/grass-web | | | +---/trunk
./grass-cvs2svn-base.sh ./grass-cvs2svn-s2.sh ./grass-cvs2svn-wxpython.sh
GRASS 7 development notes
External links
- My Experiences With Subversion by Simon Tatham
- cvs2svn tool page
- Migration plan example
- Converting CVS to subversion
- List CVS Tags
- Online book: Version Control with Subversion
SVN hosting
There are two main options to host the new SVN repository.