您的位置:软件测试 > 开源软件测试 > 开源配置管理工具 > SVN
将CVS Repository转换成Subversion Repository
作者:网络转载 发布时间:[ 2014/2/17 13:56:36 ] 推荐标签:CVS SVN 配置管理

给大家带来一些实践技巧,也是我在工作中遇到的实际经验总结,也做个备望笔录:以前公司用CVS做版本控制管理,现在,公司全部改用功能强大、方便快捷的SVN做版本控制管理。公司用CVS受控管理的项目,现在需要全部转成SVN控制管理。在网上搜索了N多资料,关于CVS库转换成SVN库的说明,有些说明也不够详细,不能入手操作,对于使用 CVS & SVN 陌生的同仁来说,会很困难无法解决。本人在操作过程中,也遇到一些问题,总结之后,共享上来与各位交流学习,希望对各位有帮助。

  费话不多吹了, 现在实践动手跟我一起实践吧!

首先工具下载与安装:

我使用的是Refincvs转换工具,Refinecvs提供的功能也比较多,具体可以看它的帮助,但对于中文文件名的问题,还是不能找到完美的解决办法,哪位知道的可以告诉一声哦,我们一起交流一下!


下载refincvs新版本:http://lev.serebryakov.spb.ru/refinecvs/
下载perl语言:http://downloads.activestate.com ... in32-x86-257965.msi

refinecvs是用perl语言写的,各个版本需要的perl版本不一样。安装完perl,解压refinecvs包可使用了。

1、生成转换文件
打开windows的Dos窗口,切换到refinecvs的解压目录,假如现在要把仓库 D:CVSRepository里的项目 Project1 转换成SVN仓库所需要的文件,需要运行如下这条命令,生成供SVN可导入的文件。如P1_SVN。

refinecvs.pl  -fcp gbk -lcp gbk -iv -v admin D:CVSRepositoryProject1 P1_SVN.

命令参数说明:

-fcp:表示文件名用GBK编码,如果文件名含有中文字符
-lcp:表示文件修改日志用GBK编码,如果日志里有中文
-iv:忽略厂商的tag
-v:打印处理信息
admin:标签作者
D:CVSRepositoryProject1:需要转换的CVS仓库
P1_SVN :产生转换文件的文件名

在转换过程中,会等待一些时间,请耐心等待,看到后提示信息如下:

--< Pass : done in 0 seconds.
=== All passes finished in 0 seconds.

说明你的CVS仓库转换成功,即在你的refinecvs文件目录下生成一个新的转换文件名,也是你要命名的文件,如:P1_SVN。

如果,提示信息如下所示:

Last words was:
Could not parse file EP/Res/src/ep/vo/customer/IAddressVO.java,v
Please, read about this event to avoid this error: FileError
+++ Invalid 'symbols' specification: 'rrr:'示信息如下:

说明你的CVS仓库在转换过程中,遇到了错误终止,1、有可能是你的版本库版本信息不全面,2、有可能是遇到了中文文件名,3、有可能是无法找到这样的文件版本信息。这时你要手动的做一些烦琐的操作了,你的一个目录一个目录的进行转换,查找出问题所在,直到后能顺利的转换成功,祝你好运!

2、转换好的文件导入到SVN仓库
首先,你得配置好要使用的SVN库,在里面创建需要的项目数据文件,如:Project1。创建完成之后,你可以使用SVS自带的命令参数进行操作了。
用svnadmin load命令把上面产生的文件导入到你的SVN仓库中:
命令格式如下:

svnadmin load D:SVNRepositoryProject1<P1_SVN

导入过程也跟转换过程一样,需要耐心等待一些时间。

导入成功,则会在仓库里建立trunk,tags,branches个默认目录,存放cvs对应的工作区,基线,分支。

软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd