当前位置:首页 > 技术心得 > 正文内容

CVS迁移SVN

xjtudll8年前 (2018-11-02)技术心得6840

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

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/523/

标签: SVN
分享给朋友:

“CVS迁移SVN” 的相关文章

基于状态机实现的按键处理算法

基于状态机实现的按键处理算法

这篇文章写了很久了,一直没发,现在发出来吧。 关于按键的基础知识,这里就不多写了,可以参考程序匠人的《按键漫谈》 一次完整的击键过程包括:等待阶段,闭合抖动阶段,有效闭合阶段,释放抖动阶段,有效释放阶段。释放抖动阶段对于按键处理用处不大,所以这个阶段被忽略了,即按键击键包括四个状态:等待阶段,闭合抖...

如何查看bat文件运行后的显示信息

@echo off 接着中间是批处理的命令! 最后用pause做为结尾,可以是窗口不自动关闭,就可以看到窗口内的运行信息...

VS2010 HelpLibrary

VS2010 HelpLibrary

1、VS2010 HelpLibrary路径更改 找到helplibmanager.exe.config (C:\Program Files\Microsoft Help Viewer\v1.0\),打开 helplibmanager.exe.config (用记事本或其他文本编辑软件),将 key...

Android的Service中弹出窗口解决方法

参考资料: http://www.cnblogs.com/fbsk/archive/2011/12/28/2304523.html http://blog.csdn.net/djun100/article/details/23756681 问题: 我们在使用Service时,经常会碰到这样的情况,比...

IIS+PHP环境下文件上传没法访问问题

PHP运行环境:IIS FastCGI 在IIS FastCGI方式运行时,经过浏览器请求的Web资源有2类,一个是经由php_cgi.exe产生的内容,一部分是静态资源,由IIS返回给用户。 这2类用户有区别,前者是IIS_IUSERS,后者是Authenticated User或者是Anonym...

金蝶K3:自定义的万能报表位置

金蝶K3:自定义的万能报表位置

场景:客户再【会计总账管理系统】开发了一个万能报表【AAA】 后来因工作交接或者某些原因忘记这个AAA报表放在哪个子系统下了,由于K3子系统非常多,要逐个切换子系统来找自己建立的万能报表再哪里;非常麻烦:使用下面这段脚本查询:select b.FName,* from t_UserDefineRpt...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。