加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区 | 中文化荣誉殿堂
 
发新话题
打印

[原创] 将CVS Repository转换成Subversion Repository( 此文章被查看:2132次,被回复:5篇!! )

将CVS Repository转换成Subversion Repository

CVS Repository转换成Subversion Repository



原创手稿

  今天给大家带来一些实践技巧,也就是我在工作中遇到的实际经验总结,也做个备望笔录:
以前公司用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:\CVSRepository\Project1 P1_SVN.

命令参数说明:

-fcp:表示文件名用GBK编码,如果文件名含有中文字符
-lcp:表示文件修改日志用GBK编码,如果日志里有中文
-iv:忽略厂商的tag
-v:打印处理信息
admin:标签作者
D:\CVSRepository\Project1:需要转换的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。创建完成之后,你就可以使用SVN自带的命令参数进行操作了。
svnadmin load命令把上面产生的文件导入到你的SVN仓库中:
命令格式如下:

svnadmin load D:\SVNRepository\Project1<P1_SVN

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

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

[ 本帖最后由 yjg021 于 2007-8-10 09:16 编辑 ]
本帖最近评分记录
  • selina 金钱 +10 原创内容 2007-8-13 14:53



© 本文为 yjg021SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员
每天进步一点点!

TOP

什么都不说了
谢谢三年级的师兄哦!



© 本文为 SCM_JaneSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员
傻妞儿重出江湖!

TOP

btw
第二点中的第二句:“创建完成之后,你就可以使用SVS自带的命令参数进行操作了。”
中那个SVS是不是打错啦?应该是SVN吧!



© 本文为 SCM_JaneSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员
傻妞儿重出江湖!

TOP

回复 #3 SCM_Jane 的帖子

  (没记性的傻丫头) SCM_Jane  你好啊,谢谢你的光顾,看来你是个非常认真仔细的人,我把你指正的错误地方改好了,希望我们能多多的交流学习,成为很好的朋友!同时也祝你:工作顺利开心快乐!

© 本文为 yjg021 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员
每天进步一点点!

TOP

哈哈
一大早就看到这么多夸奖我祝福我的话
相信一整天的工作都会非常愉快的!
谢谢万事通小师兄!
有师兄这么细致的学习整理在前,我们岂敢怠慢呀!
大家一起努力吧!

© 本文为 SCM_Jane 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员
傻妞儿重出江湖!

TOP

这个是我很久以前用的一个工具

其实,这个工具是collabnet自己开发的工具。我只是按照人家的要求,把需要的文件给找到。给参数定义好了,如果谁感兴趣可以参考一下。
解压后
(1)修改c2s.bat内容。其实就是一行文字,修改一下你的自己的路径
(2)安装python 版本>=2.5 因为转换过程中要支持GB2312编码,所以版本要高一点
(3)co.exe和sort.exe这两个文件是从rcs的window包中取出来的,后来可能其中一个没有用到,因为我修改了转换的方式
有问题自己到collabnet或者svn的网站上去看maillist吧。或者看python源码也可以。

附件

cvs2svn.zip (605.34 KB, 2007-9-22 21:26)

关于附件奖励, 下载次数 6, 使用阶层: 通用 , 推荐星级: , 出售价格: 2 金钱 , 你的购买价格: 2 金钱,【快速获取积分

cvs2svn

本帖最近评分记录
  • 懂你 金钱 +30 感谢分享! 2007-9-22 21:32

© 本文为 davidbrook 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

发新话题