Talk:Migration from CVS to SVN: Difference between revisions
(moved from main page) |
(→Testing SVN repository: moved from article page) |
||
Line 131: | Line 131: | ||
| +---/branches | | +---/branches | ||
| | | | | | ||
| +---/tags | |||
| | | |||
| +---/trunk | |||
| | |||
+---/grass-addons | |||
| | | |||
| +---/trunk | |||
| | |||
+---/grass-web | |||
| | | |||
| +---/trunk | |||
==== 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 | |||
===== Alternative version ===== | |||
/grass-svn | |||
| | |||
+---/trunk (grass6 CVS HEAD + grassaddons) | |||
| | |||
+---/branches | |||
| | | |||
| +---/releasebranch_5_x (note: 5_5 based on grass5 CVS HEAD) | |||
| | | |||
| +---/releasebranch_6_x | |||
| | |||
+---/tags | |||
==== Scenario 3 ==== | |||
/grass-svn | |||
| | |||
+---/trunk | |||
| | | |||
| +---/grass5 (grass5 CVS HEAD) | |||
| | | |||
| +---/grass6 (grass6 CVS HEAD) | |||
| | | |||
| +---/grass7 (grass6 CVS HEAD, then modifications) | |||
| | | |||
| +---/grassaddons (grassaddons SVN HEAD) | |||
| | |||
+---/branches | |||
| | | |||
| +---/releasebranch_5_x | |||
| | | |||
| +---/releasebranch_6_x | |||
| | |||
+---/tags | |||
=== Copy of GRASS CVS repository === | |||
rsync -r --times --links --bwlimit=200 --delete rsync://rsync.intevation.de/grass grass-cvs | |||
→ cca 600 MB! | |||
=== Creating GRASS SVN repository === | |||
==== grass5 ==== | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
-s grass5svn-orig grass-cvs/grass | |||
→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass5svn-orig grass5svn-orig]''' | |||
'''Question:''' exclude selected branches/tags (which one?) | |||
According to [http://grass.itc.it/devel/cvstags.php undocumented] these branches/tags are suggested to be excluded: | |||
--exclude="Mike" \ | |||
--exclude="grass" \ | |||
--exclude="unlabeled-.*" \ | |||
--exclude=devices_cleanup_20000420 \ | |||
--exclude=post_compare_glynn_head_2002_11_27 \ | |||
--exclude=post_compare_glynn_release_2002_11_27 \ | |||
--exclude=post_merge_head_2002_01_22 \ | |||
--exclude=post_sync_2002_01_22 \ | |||
--exclude=pre-curses-fix \ | |||
--exclude=pre_merge_head_2002_01_22 \ | |||
--exclude=pre_merge_release_2002_01_22 \ | |||
--exclude=pre_sync_2001_10_31 \ | |||
--exclude=pre_sync_2002_01_17 \ | |||
--exclude=release_15_05_2004_grass5_3_0 \ | |||
--exclude=releasebranch_11_april_2001_5_0_0 \ | |||
--exclude=releasebranch_11_april_2001_5_0_0_DEAD \ | |||
--exclude=releasebranch_500 \ | |||
--exclude=releasebranch_5_0_0 \ | |||
--exclude=release_grass5beta11pre1_21_january_2001 \ | |||
--exclude=release_grass5beta11pre2_28_january_2001 \ | |||
--exclude=start \ | |||
--exclude=testbranch_5_0_0stable \ | |||
--exclude=grassreleasebranch_5_0_0 \ | |||
A lot of dependency problems: | |||
ERROR: The branch 'unlabeled-1.7.4' cannot be excluded because the following symbols depend on it: | |||
'release_grass500pre1_20_may_2001' | |||
'release_13_september_2001_grass5_0_0_pre2' | |||
'release_16_january_2002_grass5_0_0_pre3' | |||
'releasebranch_14_august_2001_5_0_0' | |||
ERROR: The branch 'unlabeled-1.6.4' cannot be excluded because the following symbols depend on it: | |||
'release_grass500pre1_20_may_2001' | |||
'color_changes_20010502' | |||
'release_13_september_2001_grass5_0_0_pre2' | |||
'release_16_january_2002_grass5_0_0_pre3' | |||
'releasebranch_14_august_2001_5_0_0' | |||
... | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
--exclude="Mike" \ | |||
--exclude="grass" \ | |||
--exclude="unlabeled-.*" \ | |||
--exclude=devices_cleanup_20000420 \ | |||
--exclude=post_compare_glynn_head_2002_11_27 \ | |||
--exclude=post_compare_glynn_release_2002_11_27 \ | |||
--exclude=post_merge_head_2002_01_22 \ | |||
--exclude=post_sync_2002_01_22 \ | |||
--exclude=pre-curses-fix \ | |||
--exclude=pre_merge_head_2002_01_22 \ | |||
--exclude=pre_merge_release_2002_01_22 \ | |||
--exclude=pre_sync_2001_10_31 \ | |||
--exclude=pre_sync_2002_01_17 \ | |||
--exclude=release_03_11_2003_grass5_0_3 \ | |||
--exclude=release_05_11_2004_grass5_4_0 \ | |||
--exclude=release_10_04_2003_grass5_0_2 \ | |||
--exclude=release_13_may_2002_grass5_0_0_pre4 \ | |||
--exclude=release_13_september_2001_grass5_0_0_pre2 \ | |||
--exclude=release_15_05_2004_grass5_3_0 \ | |||
--exclude=release_16_january_2002_grass5_0_0_pre3 \ | |||
--exclude=release_17_06_2004_grass5_7_0 \ | |||
--exclude=release_25_06_2002_grass5_0_0_pre5 \ | |||
--exclude=release_28_01_2003_grass5_0_1 \ | |||
--exclude=release_30_08_2002_grass5_0_0 \ | |||
--exclude=releasebranch_11_april_2001_5_0_0 \ | |||
--exclude=releasebranch_11_april_2001_5_0_0_DEAD \ | |||
--exclude=releasebranch_500 \ | |||
--exclude=releasebranch_5_0_0 \ | |||
--exclude=release_grass500pre1_20_may_2001 \ | |||
--exclude=release_grass5beta10_7_december_2000 \ | |||
--exclude=release_grass5beta11_4_february_2001 \ | |||
--exclude=release_grass5beta11pre1_21_january_2001 \ | |||
--exclude=release_grass5beta11pre2_28_january_2001 \ | |||
--exclude=release_grass5beta6_16_feb_2000 \ | |||
--exclude=release_grass5beta7_20_april_2000 \ | |||
--exclude=release_grass5beta8_26_july_2000 \ | |||
--exclude=release_grass5beta9_6_december_2000 \ | |||
--exclude=start \ | |||
--exclude=testbranch_5_0_0stable \ | |||
--exclude=releasebranch_5_4 \ | |||
--exclude=grassreleasebranch_5_0_0 \ | |||
--exclude=releasebranch_26_april_2002_5_0_0 \ | |||
-s grass5svn grass-cvs/grass | |||
<!-- | |||
→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass5svn grass5svn]''' | |||
--> | |||
==== grass6 ==== | |||
cvs2svn --use-cvs --no-default-eol \ | |||
-s grass6svn grass-cvs/grass6 | |||
... | |||
Error summary: | |||
ERROR: A CVS repository cannot contain both grass-cvs/grass6/display/d.erase/main.c,v and grass-cvs/grass6/display/d.erase/Attic/main.c,v | |||
ERROR: A CVS repository cannot contain both grass-cvs/grass6/general/g.mapsets/main_inter.c,v and grass-cvs/grass6/general/g.mapsets/Attic/main_inter.c,v | |||
ERROR: A CVS repository cannot contain both grass-cvs/grass6/include/gproj_api.h,v and grass-cvs/grass6/include/Attic/gproj_api.h,v | |||
ERROR: A CVS repository cannot contain both grass-cvs/grass6/visualization/nviz/src/getCat.c,v and grass-cvs/grass6/visualization/nviz/src/Attic/getCat.c,v | |||
Exited due to fatal error(s). | |||
'''Question:''' Remove Attic files? | |||
* [http://cvs2svn.tigris.org/faq.html#atticprob cvs2svn FAQ] | |||
* [http://www.nabble.com/cvs2svn-questions-tf4690871.html#a13406752 From GRASS-dev ML] | |||
rm -f grass-cvs/grass6/display/d.erase/Attic/main.c,v | |||
rm -f grass-cvs/grass6/general/g.mapsets/Attic/main_inter.c,v | |||
rm -f grass-cvs/grass6/include/Attic/gproj_api.h,v | |||
rm -f grass-cvs/grass6/visualization/nviz/src/Attic/getCat.c,v | |||
Restart | |||
cvs2svn --use-cvs --no-default-eol \ | |||
-s grass6svn grass-cvs/grass6 | |||
... | |||
----- pass 2 (CollateSymbolsPass) ----- | |||
ERROR: It is not clear how the following symbols should be converted. | |||
Use --force-tag, --force-branch and/or --exclude to resolve the ambiguity. | |||
'releasebranch_6_2' is a tag in 2 files, a branch in 5259 files and has commits in 1513 files | |||
Restart | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--force-branch=releasebranch_6_2 \ | |||
-s grass6svn-orig grass-cvs/grass6 | |||
→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass6svn-orig grass6svn-orig]''' | |||
Exclude all [http://grass.itc.it/devel/cvstags.php undocumented] braches | |||
cvs2svn --use-cvs --no-default-eol | |||
--force-branch=releasebranch_6_2 \ | |||
--exclude="grass" \ | |||
--exclude="grassreleasebranch_5_0_0" \ | |||
--exclude="markus" \ | |||
--exclude="releasebranch_14_august_2001_5_0_0" \ | |||
--exclude="releasebranch_26_april_2002_5_0_0" \ | |||
--exclude="releasebranch_5_4" \ | |||
--exclude="unlabeled.*" \ | |||
-s grass6svn1 grass-cvs/grass6 | |||
... | |||
----- pass 2 (CollateSymbolsPass) ----- | |||
Checking for blocked exclusions... | |||
ERROR: The branch 'markus' cannot be excluded because the following symbols depend on it: | |||
'start' | |||
'releasebranch_11_april_2001_5_0_0' | |||
ERROR: The branch 'grass' cannot be excluded because the following symbols depend on it: | |||
... | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--force-branch=releasebranch_6_2 \ | |||
--exclude="grass" \ | |||
--exclude="grassreleasebranch_5_0_0" \ | |||
--exclude="markus" \ | |||
--exclude="releasebranch_14_august_2001_5_0_0" \ | |||
--exclude="releasebranch_26_april_2002_5_0_0" \ | |||
--exclude="releasebranch_5_4" \ | |||
--exclude="unlabeled.*" \ | |||
--exclude="devices_cleanup_20000420" \ | |||
--exclude="post_compare_glynn_head_2002_11_27" \ | |||
--exclude="post_compare_glynn_release_2002_11_27" \ | |||
--exclude="post_merge_head_2002_01_22" \ | |||
--exclude="post_sync_2002_01_22" \ | |||
--exclude="pre-curses-fix" \ | |||
--exclude="pre_merge_head_2002_01_22" \ | |||
--exclude="pre_merge_release_2002_01_22" \ | |||
--exclude="pre_sync_2001_10_31" \ | |||
--exclude="pre_sync_2002_01_17" \ | |||
--exclude="release_03_11_2003_grass5_0_3" \ | |||
--exclude="release_05_11_2004_grass5_4_0" \ | |||
--exclude="release_10_04_2003_grass5_0_2" \ | |||
--exclude="release_13_may_2002_grass5_0_0_pre4" \ | |||
--exclude="release_13_september_2001_grass5_0_0_pre2" \ | |||
--exclude="release_15_05_2004_grass5_3_0" \ | |||
--exclude="release_16_january_2002_grass5_0_0_pre3" \ | |||
--exclude="release_17_06_2004_grass5_7_0" \ | |||
--exclude="release_25_06_2002_grass5_0_0_pre5" \ | |||
--exclude="release_28_01_2003_grass5_0_1" \ | |||
--exclude="release_30_08_2002_grass5_0_0" \ | |||
--exclude="releasebranch_11_april_2001_5_0_0" \ | |||
--exclude="releasebranch_11_april_2001_5_0_0_DEAD" \ | |||
--exclude="releasebranch_500" \ | |||
--exclude="releasebranch_5_0_0" \ | |||
--exclude="release_grass500pre1_20_may_2001" \ | |||
--exclude="release_grass5beta10_7_december_2000" \ | |||
--exclude="release_grass5beta11_4_february_2001" \ | |||
--exclude="release_grass5beta11pre1_21_january_2001" \ | |||
--exclude="release_grass5beta11pre2_28_january_2001" \ | |||
--exclude="release_grass5beta6_16_feb_2000" \ | |||
--exclude="release_grass5beta7_20_april_2000" \ | |||
--exclude="release_grass5beta8_26_july_2000" \ | |||
--exclude="release_grass5beta9_6_december_2000" \ | |||
--exclude="start" \ | |||
--exclude="testbranch_5_0_0stable" \ | |||
--exclude="unlabeled-1.1.1.1.4" \ | |||
--exclude="unlabeled-1.1.1.1.6" \ | |||
--exclude="color_changes_20010502" \ | |||
-s grass6svn grass-cvs/grass6 | |||
'''Question:''' Exclude more tags (which)? | |||
* I guess tags "freetypecap", "lastworking", "pre_fileinfo_change" and maybe also "pre_vdigit_changes_.*" could be also excluded... --ML | |||
Add other switches (e.g. <tt>--encoding</tt>) ?? | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--force-branch=releasebranch_6_2 \ | |||
--exclude="grass" \ | |||
--exclude="grassreleasebranch_5_0_0" \ | |||
--exclude="markus" \ | |||
--exclude="releasebranch_14_august_2001_5_0_0" \ | |||
--exclude="releasebranch_26_april_2002_5_0_0" \ | |||
--exclude="releasebranch_5_4" \ | |||
--exclude="unlabeled.*" \ | |||
--exclude="devices_cleanup_20000420" \ | |||
--exclude="post_compare_glynn_head_2002_11_27" \ | |||
--exclude="post_compare_glynn_release_2002_11_27" \ | |||
--exclude="post_merge_head_2002_01_22" \ | |||
--exclude="post_sync_2002_01_22" \ | |||
--exclude="pre-curses-fix" \ | |||
--exclude="pre_merge_head_2002_01_22" \ | |||
--exclude="pre_merge_release_2002_01_22" \ | |||
--exclude="pre_sync_2001_10_31" \ | |||
--exclude="pre_sync_2002_01_17" \ | |||
--exclude="release_03_11_2003_grass5_0_3" \ | |||
--exclude="release_05_11_2004_grass5_4_0" \ | |||
--exclude="release_10_04_2003_grass5_0_2" \ | |||
--exclude="release_13_may_2002_grass5_0_0_pre4" \ | |||
--exclude="release_13_september_2001_grass5_0_0_pre2" \ | |||
--exclude="release_15_05_2004_grass5_3_0" \ | |||
--exclude="release_16_january_2002_grass5_0_0_pre3" \ | |||
--exclude="release_17_06_2004_grass5_7_0" \ | |||
--exclude="release_25_06_2002_grass5_0_0_pre5" \ | |||
--exclude="release_28_01_2003_grass5_0_1" \ | |||
--exclude="release_30_08_2002_grass5_0_0" \ | |||
--exclude="releasebranch_11_april_2001_5_0_0" \ | |||
--exclude="releasebranch_11_april_2001_5_0_0_DEAD" \ | |||
--exclude="releasebranch_500" \ | |||
--exclude="releasebranch_5_0_0" \ | |||
--exclude="release_grass500pre1_20_may_2001" \ | |||
--exclude="release_grass5beta10_7_december_2000" \ | |||
--exclude="release_grass5beta11_4_february_2001" \ | |||
--exclude="release_grass5beta11pre1_21_january_2001" \ | |||
--exclude="release_grass5beta11pre2_28_january_2001" \ | |||
--exclude="release_grass5beta6_16_feb_2000" \ | |||
--exclude="release_grass5beta7_20_april_2000" \ | |||
--exclude="release_grass5beta8_26_july_2000" \ | |||
--exclude="release_grass5beta9_6_december_2000" \ | |||
--exclude="start" \ | |||
--exclude="testbranch_5_0_0stable" \ | |||
--exclude="unlabeled-1.1.1.1.4" \ | |||
--exclude="unlabeled-1.1.1.1.6" \ | |||
--exclude="color_changes_20010502" \ | |||
--exclude="freetypecap" \ | |||
--exclude="lastworking" \ | |||
--exclude="pre_fileinfo_change" \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
-s grass6svn grass-cvs/grass6 | |||
All documented braches/tags were migrated. Repository contains also some undocumented tags: grass_6_0_0, grass_6_0_0beta1, post_vdigit_changes_2007023, pre_vdigit_changes_20070221, pre_vdigit_changes_2007023, release_20071021_grass_6_2_3RC1. In contrast releasebranch_6_0 is missing. | |||
→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass6svn grass6svn]''' | |||
==== newsletter ==== | |||
SUGGESTION: merge newsletter into the OSGeo journal SVN | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
-s grassnlsvn grass-cvs/newsletter | |||
'''Question:''' exclude branch "markus" and tags "Final_version", "ready_for_grammar_spelling_correction" and "start"? | |||
* I guess maybe only trunk can be migrate, we don't need any branches and tags in this case... --ML | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--exclude="markus" \ | |||
--exclude="Final_version" \ | |||
--exclude="ready_for_grammar_spelling_correction" \ | |||
--exclude="start" \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
-s grassnlsvn grass-cvs/newsletter | |||
... | |||
Checking for blocked exclusions... | |||
ERROR: The branch 'markus' cannot be excluded because the following symbols depend on it: | |||
'volume1_final' | |||
... | |||
Cannot exclude branch "markus" | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--exclude="Final_version" \ | |||
--exclude="ready_for_grammar_spelling_correction" \ | |||
--exclude="start" \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
-s grassnlsvn grass-cvs/newsletter | |||
'''Questions:''' | |||
* Rename brach "markus"? | |||
* Rename tags "volume[1|2]_final" to "release_vol[1|2]"? | |||
I guess only trunk is enough -- ML | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
--trunk-only \ | |||
-s grassnlsvn grass-cvs/newsletter | |||
<!--→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grassnlsvn grassnlsvn]--> | |||
==== web ==== | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
-s grasswebsvn grass-cvs/web | |||
... | |||
ERROR: A CVS repository cannot contain both grass-cvs/web/bugtracking/index.html,v and grass-cvs/web/bugtracking/Attic/index.html,v | |||
... | |||
'''Question:''' Remove Attic file? | |||
rm -f grass-cvs/web/bugtracking/Attic/index.html,v | |||
'''Question:''' Ignore branches ("markus") and tags ("start")? | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--trunk-only \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
-s grasswebsvn grass-cvs/web | |||
<!-- | |||
→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grasswebsvn grasswebsvn]--> | |||
==== grass7 ==== | |||
Based on grass6 HEAD. | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--force-branch=releasebranch_6_2 \ | |||
--trunk-only \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
-s grass7svn grass-cvs/grass6 | |||
<!-- | |||
→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass7svn grass7svn]'''--> | |||
==== Scenario 1 ==== | |||
svnadmin create grass-svn | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
--branches=grass5/branches \ | |||
--tags=grass5/tags \ | |||
--trunk=grass5/trunk \ | |||
--existing-svnrepos \ | |||
-s grass-svn grass-cvs/grass | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--force-branch=releasebranch_6_2 \ | |||
--exclude="grass" \ | |||
--exclude="grassreleasebranch_5_0_0" \ | |||
--exclude="markus" \ | |||
--exclude="releasebranch_14_august_2001_5_0_0" \ | |||
--exclude="releasebranch_26_april_2002_5_0_0" \ | |||
--exclude="releasebranch_5_4" \ | |||
--exclude="unlabeled.*" \ | |||
--exclude="devices_cleanup_20000420" \ | |||
--exclude="post_compare_glynn_head_2002_11_27" \ | |||
--exclude="post_compare_glynn_release_2002_11_27" \ | |||
--exclude="post_merge_head_2002_01_22" \ | |||
--exclude="post_sync_2002_01_22" \ | |||
--exclude="pre-curses-fix" \ | |||
--exclude="pre_merge_head_2002_01_22" \ | |||
--exclude="pre_merge_release_2002_01_22" \ | |||
--exclude="pre_sync_2001_10_31" \ | |||
--exclude="pre_sync_2002_01_17" \ | |||
--exclude="release_03_11_2003_grass5_0_3" \ | |||
--exclude="release_05_11_2004_grass5_4_0" \ | |||
--exclude="release_10_04_2003_grass5_0_2" \ | |||
--exclude="release_13_may_2002_grass5_0_0_pre4" \ | |||
--exclude="release_13_september_2001_grass5_0_0_pre2" \ | |||
--exclude="release_15_05_2004_grass5_3_0" \ | |||
--exclude="release_16_january_2002_grass5_0_0_pre3" \ | |||
--exclude="release_17_06_2004_grass5_7_0" \ | |||
--exclude="release_25_06_2002_grass5_0_0_pre5" \ | |||
--exclude="release_28_01_2003_grass5_0_1" \ | |||
--exclude="release_30_08_2002_grass5_0_0" \ | |||
--exclude="releasebranch_11_april_2001_5_0_0" \ | |||
--exclude="releasebranch_11_april_2001_5_0_0_DEAD" \ | |||
--exclude="releasebranch_500" \ | |||
--exclude="releasebranch_5_0_0" \ | |||
--exclude="release_grass500pre1_20_may_2001" \ | |||
--exclude="release_grass5beta10_7_december_2000" \ | |||
--exclude="release_grass5beta11_4_february_2001" \ | |||
--exclude="release_grass5beta11pre1_21_january_2001" \ | |||
--exclude="release_grass5beta11pre2_28_january_2001" \ | |||
--exclude="release_grass5beta6_16_feb_2000" \ | |||
--exclude="release_grass5beta7_20_april_2000" \ | |||
--exclude="release_grass5beta8_26_july_2000" \ | |||
--exclude="release_grass5beta9_6_december_2000" \ | |||
--exclude="start" \ | |||
--exclude="testbranch_5_0_0stable" \ | |||
--exclude="unlabeled-1.1.1.1.4" \ | |||
--exclude="unlabeled-1.1.1.1.6" \ | |||
--exclude="color_changes_20010502" \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
--branches=grass6/branches \ | |||
--tags=grass6/tags \ | |||
--trunk=grass6/trunk \ | |||
--existing-svnrepos \ | |||
-s grass-svn grass-cvs/grass6 | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--exclude="Final_version" \ | |||
--exclude="ready_for_grammar_spelling_correction" \ | |||
--exclude="start" \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
--branches=newsletter/branches \ | |||
--tags=newsletter/tags \ | |||
--trunk=newsletter/trunk \ | |||
--existing-svnrepos \ | |||
-s grass-svn grass-cvs/newsletter | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--trunk-only \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
--trunk=web/trunk \ | |||
--existing-svnrepos \ | |||
-s grass-svn grass-cvs/web | |||
cvs2svn --use-cvs --no-default-eol \ | |||
--force-branch=releasebranch_6_2 \ | |||
--trunk-only \ | |||
--encoding="ASCII" \ | |||
--encoding="UTF-8" \ | |||
--encoding="ISO-8859-1" \ | |||
--trunk=grass7/trunk \ | |||
--existing-svnrepos \ | |||
-s grass-svn grass-cvs/grass6 | |||
→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass-svn grass-svn]''' | |||
==== Scenario 2 ==== | |||
Notes: | |||
* newsletter repository can be merged with OSGeo newsletter repository | |||
* web in separate repository outside of trac | |||
Script available [http://josef.fsv.cvut.cz/~landa/grass-cvs2svn here]. | |||
→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass-svn2 grass-svn2]''' | |||
==== Scenario 3 ==== | |||
Script available [http://josef.fsv.cvut.cz/~landa/grass-cvs2svn here]. | |||
→ '''[http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/?root=grass-svn3 grass-svn3]''' | |||
=== Moving wxPython GUI code from Add-ons to trunk === | |||
See [http://josef.fsv.cvut.cz/~landa/grass-cvs2svn/cvs2svn-wxpython.sh.txt script]... |
Revision as of 22:59, 5 December 2007
The progress in the migration...
GRASS CVS repository - list of tags
Based on lstag:
devices_cleanup_20000420 freetypecap grass grassreleasebranch_5_0_0 grass_6_0_0 grass_6_0_0beta1 grass_6_0_0_beta_1 grass_6_0_0_beta_2 grass_6_0_2 grass_6_1_0 grass_6_1_0beta1 grass_6_1_0RC1 grass_6_2_0 grass_6_2_0beta1 grass_6_2_0beta2 grass_6_2_0beta3 grass_6_2_0RC1 grass_6_2_0RC2 grass_6_2_0RC3 grass_6_2_1 grass_6_2_1RC1 grass_6_2_2RC1 lastworking markus post_compare_glynn_head_2002_11_27 post_compare_glynn_release_2002_11_27 post_merge_head_2002_01_22 post_sync_2002_01_22 post_vdigit_changes_2007023 pre-curses-fix pre_fileinfo_change pre_merge_head_2002_01_22 pre_merge_release_2002_01_22 pre_sync_2001_10_31 pre_sync_2002_01_17 pre_vdigit_changes_20070221 pre_vdigit_changes_2007023 releasebranch_11_april_2001_5_0_0 releasebranch_11_april_2001_5_0_0_DEAD releasebranch_14_august_2001_5_0_0 releasebranch_26_april_2002_5_0_0 releasebranch_500 releasebranch_5_0_0 releasebranch_5_4 releasebranch_6_0 releasebranch_6_1 releasebranch_6_2 releasebranch_6_3 release_03_11_2003_grass5_0_3 release_05_11_2004_grass5_4_0 release_10_04_2003_grass5_0_2 release_13_may_2002_grass5_0_0_pre4 release_13_september_2001_grass5_0_0_pre2 release_15_05_2004_grass5_3_0 release_16_january_2002_grass5_0_0_pre3 release_17_06_2004_grass5_7_0 release_20070716_grass_6_2_2 release_20071021_grass_6_2_3RC1 release_20071024_grass_6_3_0RC1 release_20071120_grass_6_3_0RC2 release_25_06_2002_grass5_0_0_pre5 release_28_01_2003_grass5_0_1 release_30_08_2002_grass5_0_0 release_grass500pre1_20_may_2001 release_grass5beta10_7_december_2000 release_grass5beta11pre1_21_january_2001 release_grass5beta11pre2_28_january_2001 release_grass5beta11_4_february_2001 release_grass5beta6_16_feb_2000 release_grass5beta7_20_april_2000 release_grass5beta8_26_july_2000 release_grass5beta9_6_december_2000 start testbranch_5_0_0stable
According to history web-page (section GRASS 6.* development) and CVS tags, these tags are missing:
- 8/2005 GRASS 6.0.1RC1 version from ITC-irst/GRASS Development Team
- 8/2005 GRASS 6.0.1RC2 version from ITC-irst/GRASS Development Team
- 22 Aug. 2005 GRASS 6.0.1 version from ITC-irst/GRASS Development Team
- 29 Dec. 2005 GRASS 6.0.2RC1 version from ITC-irst/GRASS Development Team
- 3 Jan. 2006 GRASS 6.0.2RC2 version from ITC-irst/GRASS Development Team
- 3 Jan. 2006 GRASS 6.0.2RC3 version from ITC-irst/GRASS Development Team
- 6 Jan. 2006 GRASS 6.0.2RC4 version from ITC-irst/GRASS Development Team
Status: Resolved
Testing SVN repository
- grass/grass should be renamed to grass/grass5
Question:
- Migrate all directories or only actively used (grass, grass6, newsletter, web)?
- Create separate repositories (grass5, grass6, grassweb, grassnewsletter, grass7) or one repository (grass-svn)?
Proposed structure
Note: grass6 was created by copying files from grass5 in 2000. Development of GRASS 7 will start after migration.
Scenario 1
/grass-svn | +---/grass5 | | | +---/branches | | | +---/tags | | | +---/trunk | +---/grass6 | | | +---/branches | | | +---/tags | | | +---/trunk | +---/grass7 | | | +---/branches | | | +---/tags | | | +---/trunk | +---/grass-addons | | | +---/trunk | +---/grass-web | | | +---/trunk
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
Alternative version
/grass-svn | +---/trunk (grass6 CVS HEAD + grassaddons) | +---/branches | | | +---/releasebranch_5_x (note: 5_5 based on grass5 CVS HEAD) | | | +---/releasebranch_6_x | +---/tags
Scenario 3
/grass-svn | +---/trunk | | | +---/grass5 (grass5 CVS HEAD) | | | +---/grass6 (grass6 CVS HEAD) | | | +---/grass7 (grass6 CVS HEAD, then modifications) | | | +---/grassaddons (grassaddons SVN HEAD) | +---/branches | | | +---/releasebranch_5_x | | | +---/releasebranch_6_x | +---/tags
Copy of GRASS CVS repository
rsync -r --times --links --bwlimit=200 --delete rsync://rsync.intevation.de/grass grass-cvs
→ cca 600 MB!
Creating GRASS SVN repository
grass5
cvs2svn --use-cvs --no-default-eol \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ -s grass5svn-orig grass-cvs/grass
Question: exclude selected branches/tags (which one?)
According to undocumented these branches/tags are suggested to be excluded:
--exclude="Mike" \ --exclude="grass" \ --exclude="unlabeled-.*" \ --exclude=devices_cleanup_20000420 \ --exclude=post_compare_glynn_head_2002_11_27 \ --exclude=post_compare_glynn_release_2002_11_27 \ --exclude=post_merge_head_2002_01_22 \ --exclude=post_sync_2002_01_22 \ --exclude=pre-curses-fix \ --exclude=pre_merge_head_2002_01_22 \ --exclude=pre_merge_release_2002_01_22 \ --exclude=pre_sync_2001_10_31 \ --exclude=pre_sync_2002_01_17 \ --exclude=release_15_05_2004_grass5_3_0 \ --exclude=releasebranch_11_april_2001_5_0_0 \ --exclude=releasebranch_11_april_2001_5_0_0_DEAD \ --exclude=releasebranch_500 \ --exclude=releasebranch_5_0_0 \ --exclude=release_grass5beta11pre1_21_january_2001 \ --exclude=release_grass5beta11pre2_28_january_2001 \ --exclude=start \ --exclude=testbranch_5_0_0stable \ --exclude=grassreleasebranch_5_0_0 \
A lot of dependency problems:
ERROR: The branch 'unlabeled-1.7.4' cannot be excluded because the following symbols depend on it: 'release_grass500pre1_20_may_2001' 'release_13_september_2001_grass5_0_0_pre2' 'release_16_january_2002_grass5_0_0_pre3' 'releasebranch_14_august_2001_5_0_0' ERROR: The branch 'unlabeled-1.6.4' cannot be excluded because the following symbols depend on it: 'release_grass500pre1_20_may_2001' 'color_changes_20010502' 'release_13_september_2001_grass5_0_0_pre2' 'release_16_january_2002_grass5_0_0_pre3' 'releasebranch_14_august_2001_5_0_0' ...
cvs2svn --use-cvs --no-default-eol \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ --exclude="Mike" \ --exclude="grass" \ --exclude="unlabeled-.*" \ --exclude=devices_cleanup_20000420 \ --exclude=post_compare_glynn_head_2002_11_27 \ --exclude=post_compare_glynn_release_2002_11_27 \ --exclude=post_merge_head_2002_01_22 \ --exclude=post_sync_2002_01_22 \ --exclude=pre-curses-fix \ --exclude=pre_merge_head_2002_01_22 \ --exclude=pre_merge_release_2002_01_22 \ --exclude=pre_sync_2001_10_31 \ --exclude=pre_sync_2002_01_17 \ --exclude=release_03_11_2003_grass5_0_3 \ --exclude=release_05_11_2004_grass5_4_0 \ --exclude=release_10_04_2003_grass5_0_2 \ --exclude=release_13_may_2002_grass5_0_0_pre4 \ --exclude=release_13_september_2001_grass5_0_0_pre2 \ --exclude=release_15_05_2004_grass5_3_0 \ --exclude=release_16_january_2002_grass5_0_0_pre3 \ --exclude=release_17_06_2004_grass5_7_0 \ --exclude=release_25_06_2002_grass5_0_0_pre5 \ --exclude=release_28_01_2003_grass5_0_1 \ --exclude=release_30_08_2002_grass5_0_0 \ --exclude=releasebranch_11_april_2001_5_0_0 \ --exclude=releasebranch_11_april_2001_5_0_0_DEAD \ --exclude=releasebranch_500 \ --exclude=releasebranch_5_0_0 \ --exclude=release_grass500pre1_20_may_2001 \ --exclude=release_grass5beta10_7_december_2000 \ --exclude=release_grass5beta11_4_february_2001 \ --exclude=release_grass5beta11pre1_21_january_2001 \ --exclude=release_grass5beta11pre2_28_january_2001 \ --exclude=release_grass5beta6_16_feb_2000 \ --exclude=release_grass5beta7_20_april_2000 \ --exclude=release_grass5beta8_26_july_2000 \ --exclude=release_grass5beta9_6_december_2000 \ --exclude=start \ --exclude=testbranch_5_0_0stable \ --exclude=releasebranch_5_4 \ --exclude=grassreleasebranch_5_0_0 \ --exclude=releasebranch_26_april_2002_5_0_0 \ -s grass5svn grass-cvs/grass
grass6
cvs2svn --use-cvs --no-default-eol \ -s grass6svn grass-cvs/grass6 ... Error summary: ERROR: A CVS repository cannot contain both grass-cvs/grass6/display/d.erase/main.c,v and grass-cvs/grass6/display/d.erase/Attic/main.c,v ERROR: A CVS repository cannot contain both grass-cvs/grass6/general/g.mapsets/main_inter.c,v and grass-cvs/grass6/general/g.mapsets/Attic/main_inter.c,v ERROR: A CVS repository cannot contain both grass-cvs/grass6/include/gproj_api.h,v and grass-cvs/grass6/include/Attic/gproj_api.h,v ERROR: A CVS repository cannot contain both grass-cvs/grass6/visualization/nviz/src/getCat.c,v and grass-cvs/grass6/visualization/nviz/src/Attic/getCat.c,v Exited due to fatal error(s).
Question: Remove Attic files?
rm -f grass-cvs/grass6/display/d.erase/Attic/main.c,v rm -f grass-cvs/grass6/general/g.mapsets/Attic/main_inter.c,v rm -f grass-cvs/grass6/include/Attic/gproj_api.h,v rm -f grass-cvs/grass6/visualization/nviz/src/Attic/getCat.c,v
Restart
cvs2svn --use-cvs --no-default-eol \ -s grass6svn grass-cvs/grass6 ... ----- pass 2 (CollateSymbolsPass) ----- ERROR: It is not clear how the following symbols should be converted. Use --force-tag, --force-branch and/or --exclude to resolve the ambiguity. 'releasebranch_6_2' is a tag in 2 files, a branch in 5259 files and has commits in 1513 files
Restart
cvs2svn --use-cvs --no-default-eol \ --force-branch=releasebranch_6_2 \ -s grass6svn-orig grass-cvs/grass6
Exclude all undocumented braches
cvs2svn --use-cvs --no-default-eol --force-branch=releasebranch_6_2 \ --exclude="grass" \ --exclude="grassreleasebranch_5_0_0" \ --exclude="markus" \ --exclude="releasebranch_14_august_2001_5_0_0" \ --exclude="releasebranch_26_april_2002_5_0_0" \ --exclude="releasebranch_5_4" \ --exclude="unlabeled.*" \ -s grass6svn1 grass-cvs/grass6 ... ----- pass 2 (CollateSymbolsPass) ----- Checking for blocked exclusions... ERROR: The branch 'markus' cannot be excluded because the following symbols depend on it: 'start' 'releasebranch_11_april_2001_5_0_0' ERROR: The branch 'grass' cannot be excluded because the following symbols depend on it: ...
cvs2svn --use-cvs --no-default-eol \ --force-branch=releasebranch_6_2 \ --exclude="grass" \ --exclude="grassreleasebranch_5_0_0" \ --exclude="markus" \ --exclude="releasebranch_14_august_2001_5_0_0" \ --exclude="releasebranch_26_april_2002_5_0_0" \ --exclude="releasebranch_5_4" \ --exclude="unlabeled.*" \ --exclude="devices_cleanup_20000420" \ --exclude="post_compare_glynn_head_2002_11_27" \ --exclude="post_compare_glynn_release_2002_11_27" \ --exclude="post_merge_head_2002_01_22" \ --exclude="post_sync_2002_01_22" \ --exclude="pre-curses-fix" \ --exclude="pre_merge_head_2002_01_22" \ --exclude="pre_merge_release_2002_01_22" \ --exclude="pre_sync_2001_10_31" \ --exclude="pre_sync_2002_01_17" \ --exclude="release_03_11_2003_grass5_0_3" \ --exclude="release_05_11_2004_grass5_4_0" \ --exclude="release_10_04_2003_grass5_0_2" \ --exclude="release_13_may_2002_grass5_0_0_pre4" \ --exclude="release_13_september_2001_grass5_0_0_pre2" \ --exclude="release_15_05_2004_grass5_3_0" \ --exclude="release_16_january_2002_grass5_0_0_pre3" \ --exclude="release_17_06_2004_grass5_7_0" \ --exclude="release_25_06_2002_grass5_0_0_pre5" \ --exclude="release_28_01_2003_grass5_0_1" \ --exclude="release_30_08_2002_grass5_0_0" \ --exclude="releasebranch_11_april_2001_5_0_0" \ --exclude="releasebranch_11_april_2001_5_0_0_DEAD" \ --exclude="releasebranch_500" \ --exclude="releasebranch_5_0_0" \ --exclude="release_grass500pre1_20_may_2001" \ --exclude="release_grass5beta10_7_december_2000" \ --exclude="release_grass5beta11_4_february_2001" \ --exclude="release_grass5beta11pre1_21_january_2001" \ --exclude="release_grass5beta11pre2_28_january_2001" \ --exclude="release_grass5beta6_16_feb_2000" \ --exclude="release_grass5beta7_20_april_2000" \ --exclude="release_grass5beta8_26_july_2000" \ --exclude="release_grass5beta9_6_december_2000" \ --exclude="start" \ --exclude="testbranch_5_0_0stable" \ --exclude="unlabeled-1.1.1.1.4" \ --exclude="unlabeled-1.1.1.1.6" \ --exclude="color_changes_20010502" \ -s grass6svn grass-cvs/grass6
Question: Exclude more tags (which)?
- I guess tags "freetypecap", "lastworking", "pre_fileinfo_change" and maybe also "pre_vdigit_changes_.*" could be also excluded... --ML
Add other switches (e.g. --encoding) ??
cvs2svn --use-cvs --no-default-eol \ --force-branch=releasebranch_6_2 \ --exclude="grass" \ --exclude="grassreleasebranch_5_0_0" \ --exclude="markus" \ --exclude="releasebranch_14_august_2001_5_0_0" \ --exclude="releasebranch_26_april_2002_5_0_0" \ --exclude="releasebranch_5_4" \ --exclude="unlabeled.*" \ --exclude="devices_cleanup_20000420" \ --exclude="post_compare_glynn_head_2002_11_27" \ --exclude="post_compare_glynn_release_2002_11_27" \ --exclude="post_merge_head_2002_01_22" \ --exclude="post_sync_2002_01_22" \ --exclude="pre-curses-fix" \ --exclude="pre_merge_head_2002_01_22" \ --exclude="pre_merge_release_2002_01_22" \ --exclude="pre_sync_2001_10_31" \ --exclude="pre_sync_2002_01_17" \ --exclude="release_03_11_2003_grass5_0_3" \ --exclude="release_05_11_2004_grass5_4_0" \ --exclude="release_10_04_2003_grass5_0_2" \ --exclude="release_13_may_2002_grass5_0_0_pre4" \ --exclude="release_13_september_2001_grass5_0_0_pre2" \ --exclude="release_15_05_2004_grass5_3_0" \ --exclude="release_16_january_2002_grass5_0_0_pre3" \ --exclude="release_17_06_2004_grass5_7_0" \ --exclude="release_25_06_2002_grass5_0_0_pre5" \ --exclude="release_28_01_2003_grass5_0_1" \ --exclude="release_30_08_2002_grass5_0_0" \ --exclude="releasebranch_11_april_2001_5_0_0" \ --exclude="releasebranch_11_april_2001_5_0_0_DEAD" \ --exclude="releasebranch_500" \ --exclude="releasebranch_5_0_0" \ --exclude="release_grass500pre1_20_may_2001" \ --exclude="release_grass5beta10_7_december_2000" \ --exclude="release_grass5beta11_4_february_2001" \ --exclude="release_grass5beta11pre1_21_january_2001" \ --exclude="release_grass5beta11pre2_28_january_2001" \ --exclude="release_grass5beta6_16_feb_2000" \ --exclude="release_grass5beta7_20_april_2000" \ --exclude="release_grass5beta8_26_july_2000" \ --exclude="release_grass5beta9_6_december_2000" \ --exclude="start" \ --exclude="testbranch_5_0_0stable" \ --exclude="unlabeled-1.1.1.1.4" \ --exclude="unlabeled-1.1.1.1.6" \ --exclude="color_changes_20010502" \ --exclude="freetypecap" \ --exclude="lastworking" \ --exclude="pre_fileinfo_change" \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ -s grass6svn grass-cvs/grass6
All documented braches/tags were migrated. Repository contains also some undocumented tags: grass_6_0_0, grass_6_0_0beta1, post_vdigit_changes_2007023, pre_vdigit_changes_20070221, pre_vdigit_changes_2007023, release_20071021_grass_6_2_3RC1. In contrast releasebranch_6_0 is missing.
newsletter
SUGGESTION: merge newsletter into the OSGeo journal SVN
cvs2svn --use-cvs --no-default-eol \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ -s grassnlsvn grass-cvs/newsletter
Question: exclude branch "markus" and tags "Final_version", "ready_for_grammar_spelling_correction" and "start"?
- I guess maybe only trunk can be migrate, we don't need any branches and tags in this case... --ML
cvs2svn --use-cvs --no-default-eol \ --exclude="markus" \ --exclude="Final_version" \ --exclude="ready_for_grammar_spelling_correction" \ --exclude="start" \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ -s grassnlsvn grass-cvs/newsletter ... Checking for blocked exclusions... ERROR: The branch 'markus' cannot be excluded because the following symbols depend on it: 'volume1_final' ...
Cannot exclude branch "markus"
cvs2svn --use-cvs --no-default-eol \ --exclude="Final_version" \ --exclude="ready_for_grammar_spelling_correction" \ --exclude="start" \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ -s grassnlsvn grass-cvs/newsletter
Questions:
- Rename brach "markus"?
- Rename tags "volume[1|2]_final" to "release_vol[1|2]"?
I guess only trunk is enough -- ML
cvs2svn --use-cvs --no-default-eol \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ --trunk-only \ -s grassnlsvn grass-cvs/newsletter
web
cvs2svn --use-cvs --no-default-eol \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ -s grasswebsvn grass-cvs/web ... ERROR: A CVS repository cannot contain both grass-cvs/web/bugtracking/index.html,v and grass-cvs/web/bugtracking/Attic/index.html,v ...
Question: Remove Attic file?
rm -f grass-cvs/web/bugtracking/Attic/index.html,v
Question: Ignore branches ("markus") and tags ("start")?
cvs2svn --use-cvs --no-default-eol \ --trunk-only \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ -s grasswebsvn grass-cvs/web
grass7
Based on grass6 HEAD.
cvs2svn --use-cvs --no-default-eol \ --force-branch=releasebranch_6_2 \ --trunk-only \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ -s grass7svn grass-cvs/grass6
Scenario 1
svnadmin create grass-svn
cvs2svn --use-cvs --no-default-eol \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ --branches=grass5/branches \ --tags=grass5/tags \ --trunk=grass5/trunk \ --existing-svnrepos \ -s grass-svn grass-cvs/grass
cvs2svn --use-cvs --no-default-eol \ --force-branch=releasebranch_6_2 \ --exclude="grass" \ --exclude="grassreleasebranch_5_0_0" \ --exclude="markus" \ --exclude="releasebranch_14_august_2001_5_0_0" \ --exclude="releasebranch_26_april_2002_5_0_0" \ --exclude="releasebranch_5_4" \ --exclude="unlabeled.*" \ --exclude="devices_cleanup_20000420" \ --exclude="post_compare_glynn_head_2002_11_27" \ --exclude="post_compare_glynn_release_2002_11_27" \ --exclude="post_merge_head_2002_01_22" \ --exclude="post_sync_2002_01_22" \ --exclude="pre-curses-fix" \ --exclude="pre_merge_head_2002_01_22" \ --exclude="pre_merge_release_2002_01_22" \ --exclude="pre_sync_2001_10_31" \ --exclude="pre_sync_2002_01_17" \ --exclude="release_03_11_2003_grass5_0_3" \ --exclude="release_05_11_2004_grass5_4_0" \ --exclude="release_10_04_2003_grass5_0_2" \ --exclude="release_13_may_2002_grass5_0_0_pre4" \ --exclude="release_13_september_2001_grass5_0_0_pre2" \ --exclude="release_15_05_2004_grass5_3_0" \ --exclude="release_16_january_2002_grass5_0_0_pre3" \ --exclude="release_17_06_2004_grass5_7_0" \ --exclude="release_25_06_2002_grass5_0_0_pre5" \ --exclude="release_28_01_2003_grass5_0_1" \ --exclude="release_30_08_2002_grass5_0_0" \ --exclude="releasebranch_11_april_2001_5_0_0" \ --exclude="releasebranch_11_april_2001_5_0_0_DEAD" \ --exclude="releasebranch_500" \ --exclude="releasebranch_5_0_0" \ --exclude="release_grass500pre1_20_may_2001" \ --exclude="release_grass5beta10_7_december_2000" \ --exclude="release_grass5beta11_4_february_2001" \ --exclude="release_grass5beta11pre1_21_january_2001" \ --exclude="release_grass5beta11pre2_28_january_2001" \ --exclude="release_grass5beta6_16_feb_2000" \ --exclude="release_grass5beta7_20_april_2000" \ --exclude="release_grass5beta8_26_july_2000" \ --exclude="release_grass5beta9_6_december_2000" \ --exclude="start" \ --exclude="testbranch_5_0_0stable" \ --exclude="unlabeled-1.1.1.1.4" \ --exclude="unlabeled-1.1.1.1.6" \ --exclude="color_changes_20010502" \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ --branches=grass6/branches \ --tags=grass6/tags \ --trunk=grass6/trunk \ --existing-svnrepos \ -s grass-svn grass-cvs/grass6
cvs2svn --use-cvs --no-default-eol \ --exclude="Final_version" \ --exclude="ready_for_grammar_spelling_correction" \ --exclude="start" \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ --branches=newsletter/branches \ --tags=newsletter/tags \ --trunk=newsletter/trunk \ --existing-svnrepos \ -s grass-svn grass-cvs/newsletter
cvs2svn --use-cvs --no-default-eol \ --trunk-only \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ --trunk=web/trunk \ --existing-svnrepos \ -s grass-svn grass-cvs/web
cvs2svn --use-cvs --no-default-eol \ --force-branch=releasebranch_6_2 \ --trunk-only \ --encoding="ASCII" \ --encoding="UTF-8" \ --encoding="ISO-8859-1" \ --trunk=grass7/trunk \ --existing-svnrepos \ -s grass-svn grass-cvs/grass6
Scenario 2
Notes:
- newsletter repository can be merged with OSGeo newsletter repository
- web in separate repository outside of trac
Script available here.
Scenario 3
Script available here.
Moving wxPython GUI code from Add-ons to trunk
See script...