Migration from CVS to SVN: Difference between revisions

From GRASS-Wiki
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 ==


→ [[Migration from CVS to SVN#Scenario 2|Scenario 2]]
/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

Scripts:

./grass-cvs2svn-base.sh
./grass-cvs2svn-s2.sh
./grass-cvs2svn-wxpython.sh

grass-svn2

GRASS 7 development notes

External links

SVN hosting

There are two main options to host the new SVN repository.