由于本人使用cvs2svn转换时碰到doc,xls等一些二进制文件无法转换的3问题,所以另外找了一个工具refinecvs。refinecvs提供的功能也比较多,具体可以看它的帮助,但对于中文文件名的问题,还是找不到解决办法,哪位知道的可以告诉一声哦。
安装:
下载refincvs最新版本0.86:http://lev.serebryakov.spb.ru/refinecvs/
下载perl语言:http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.817-MSWin32-x86-257965.msi
refinecvs是用perl语言写的,各个版本需要的perl版本不一样。安装完perl,解压refinecvs包就可使用了。
使用:
1.产生转换文件
打开windows的dos窗口,切换到refinecvs的解压目录,假如现在要把仓库: d:/cvs/里的项目 project转换成svn仓库,则先运行下面命令,产生供svn导入的文件 project_file:
refinecvs.pl -fcp gbk -lcp gbk -iv -v admin d:/cvs/project project_file
-fcp:表示文件名用gbk编码,如果文件名含有中文字符
-lcp:表示文件修改日志用gbk编码,如果日志里有中文
-iv:忽略厂商的tag
-v:打印处理信息
admin:标签作者
d:/cvs/project:需要转换的cvs仓库
project_file :产生转换文件的文件名
2.导入file到svn仓库
用svnadmin load命令把上面产生的文件导入到svn仓库project_svn:
svnadmin load d:/svnrepository/project_svn<project_file
导入成功,则会在仓库里建立trunk,tags,branches个默认目录,存放cvs对应的工作区,基线,分支。