CVS迁移SVN

0

本文作者:xjtudll  发布于:2018-11-2  分类:技术心得  点击:


1、下载 CVS2SVN
http://cvs2svn.tigris.org/files/documents/1462/49543/cvs2svn-2.5.0.tar.gz

2、下载 和安装python

需要把python的安装目录加入环境变量path中.

如果安装的时候没有选择加入环境变量,那么就必须手动添加。

fb6f0cbd-903a-439a-8ef9-4acec37d51eb

必须装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之类的,其实就是没有事先建立好版本库(不是文件夹)

ea2dcc05-4ab4-4949-a607-71a767731820

搞定以后可以通过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

0 Comments

Write a comment ?