CVS迁移SVN
1、下载 CVS2SVN
http://cvs2svn.tigris.org/files/documents/1462/49543/cvs2svn-2.5.0.tar.gz
2、下载 和安装python
需要把python的安装目录加入环境变量path中.
如果安装的时候没有选择加入环境变量,那么就必须手动添加。
必须装Python2,Python3不认的。
3、安装cvs2svn
把下载的cvs2svn解压到C:\cvs2svn-2.5.0。
命令行方式进入C:\cvs2svn-2.5.0中,
输入:
python setup.py install
如果没有添加到环境变量,不认python命令的。
4、cvs转svn
svn不要提前创建目录,如果提前建立了目录,会提示错误。其实修改命令也可以。
命令行里输入:
python cvs2svn -s E:\SVNROOT --use-cvs --encoding=gb18030 --encoding utf8 --encoding gbk E:\cvs_root
其中,E:\SVNROOT 为转换后svn仓库生成的路径,E:\cvs_root为现有cvs代码库路径。
不过我照着操作的时候,老提示:
ERROR: error executing cvs: [Error 2]
Please check that cvs is installed and in your PATH.
所以我就换了个命令(实际上就是将cvs2svn标识清楚在哪个文件夹):
python E:\cvs2svn-2.5.0\cvs2svn -s E:\SVNROOT --existing-svnrepos E:\cvs_root
命令里的 --existing-svnrepos就是为了防止文件夹提前建好了。
不过后来还是报错了,显示了一堆乱码,实际就是编码的问题。
更改命令如下:
python E:\cvs2svn-2.5.0\cvs2svn -s E:\SVNROOT --encoding=gb18030 --encoding utf8 --encoding gbk --existing-svnrepos E:\cvs_root
没有提前建SVN目录的话,用下面的代码
python E:\cvs2svn-2.5.0\cvs2svn -s E:\SVNROOT --encoding=gb18030 --encoding utf8 --encoding gbk E:\cvs_root
没有错误提示,就说明convert成功了。
(1)如果有报错:
WARNING: Problem decoding log message: xxxxxxxxx
ERROR: There were warnings converting author names and/or log messages
to Unicode (see messages above). Please restart this pass
with one or more '--encoding' parameters or with
'--fallback-encoding'.
解决方法:
--encoding= xxxx 多加几种编码编码参数可根据cvs库中的实际编码设定。
(2) 如果报错找不到svnadmin之类的,其实就是没有事先建立好版本库(不是文件夹)
搞定以后可以通过VisualSVN server挂载代码仓库
(3)中间可能提示个别文件转换有问题
先按现在的做法是将那几个文件删了,因为不多。
参考资料:
http://www.itsqueeze.com/2010/12/using-cvs2svn-on-windows-converting-a-cvs-repository-to-svn/
https://blog.csdn.net/huanqiangyi7463/article/details/79636164