Download cvs2svn-2.4.0.tar.gz from cvs2svn and extract it. We get a folder named "cvs2svn-2.4.0".
The cvs repo to be converted is at $HOME/Desktop/goat. There's a "CVSROOT" and "dev/GOAT" folder in it.
Change CWD to cvs2svn-2.4.0 and run ./cvs2svn --encoding=GBK --fallback-encoding=utf8 -s ~/Desktop/goatsvn ~/Desktop/goat
.
After convertion, you get your subversion repo at $HOME/Desktop/goatsvn.
Check it with svn ls file://$HOME/Desktop/goatsvn
, and svn log HEAD file://$HOME/Desktop/goatsvn
and svn cat file://$HOME/Desktop/goatsvn/...
.
If you encouter this error: "ERROR: A CVS repository cannot contain both repo/path/file.txt,v and repo/path/Attic/file.txt,v":
./cvs2svn --retain-conflicting-attic-files --encoding=GBK --fallback-encoding=utf8 -s ~/Desktop/dev2SVN ~/Desktop/ARENA/dev2
Next add this repo to a existing repository:
Ref:
Google for "subversion format 5".
http://serverfault.com/questions/277441/difference-between-the-format-and-db-format-files-in-a-subversion-repository
http://stackoverflow.com/questions/3420741/cvs-comma-v-files-in-attic-and-directory
http://cvs2svn.tigris.org/faq.html#atticprob