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

CVS迁移SVN

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

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://www.xjtudll.cn/Exp/523/

标签: SVN
分享给朋友:

“CVS迁移SVN” 的相关文章

如何给程序添加超大图标(EXE大尺寸图标)

如何给程序添加超大图标(EXE大尺寸图标)

要点:1、制作多分辨率ICON文件2、清空图标缓存,使图标文件生效 自己写的程序,如果更换了图标,编译出来,超大图标显示就会发现图标并没有跟着放大。那么问题来了,就换个图标效果就不同了,很明显时图标有问题。用eXeScope打开vs2013编译出来的MFC对话框程序可以看到如下图:这不止一...

QQ域名邮箱MX设置

前段时间,QQ有了个域名邮箱,于是我立马开通了,设置过程很简单,首先在QQ邮箱界面激活域名邮箱功能,然后进入设置界面验证域名。通过验证后,进入域名控制面板设置MX。腾讯提示2-24小时就可以生效了,但我一直等到超过24小时还是未生效。于是只好搜索网络。腾讯帮助里面是这话说的:为什么我的MX记录设置验...

iPhone下xib转成iPad的xib

iPhone下xib转成iPad的xib

参考文献:http://blog.csdn.net/kmyhy/article/details/7715397 在Xcode 3中,将xib从iPhone版转变为iPad版,通过Create iPad Version菜单。 但在Xcode 4及Xcode5中,这个菜单找不到了。但是可以通过其...

sharepoint 安装Office Web Applications 报错

sharepoint 安装Office Web Applications 报错,如下: 未能从程序集“Microsoft.Office.Excel.Server.MossHost, Version=14.0.0.0, Culture=neutral, PublicKeyToken=...

SVN强制写日志和修改日志功能

SVN默认是可以不写日志的,也不能修改日志,使用时颇为不便。以下就讲述如何在windows系统下实现强制写日志和修改日志功能。 1、强制用户写日志 在每次提交的时候写明提交的目的是一个很好的习惯,SVN默认没有提供,但是可以通过脚本实现:将下面的代码存为bat文件,放到版本库的hooks目录下即可,...

Protel 99SE PCB 与SCH 的比较

Protel 99SE PCB 与SCH 的比较

这个功能主要是比较原理图和PCB的不同,当然如果你的PCB是由原理图Update而来的话,自然两者就是相同的。 第一步:将SCH生成Netlist. (Design /Greate Netlist) 第二步:将PCB生成Netlist. PCB 生成Netlist 的步骤如下: ① 打开PCB文件...

发表评论

访客

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