`
zzxanadu
  • 浏览: 71053 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用CVS2SVN转换CVS档案库到SVN档案库

    博客分类:
  • SVN
阅读更多

工具上由于网上说Svnimprot有乱码问题,未敢使用,采用cvs2svn工具

 

转换的方式不多说,可参见附件网上的pdf中转换办法,此处主要记录下转换时遇到的问题。

 

首先采用Linux安装方法(Windows方法更简单),按照附件中安装的方法,

 

1)运行cvs2svn的时候,显示gdbm版本不对,错误如下:

 

ERROR: cvs2svn uses the anydbm package, which depends on lower level dbm
libraries.  Your system has dumbdbm, with which cvs2svn is known to have
problems.  To use cvs2svn, you must install a Python dbm library other than
dumbdbm or dbm.  See http://python.org/doc/current/lib/module-anydbm.html
for more information.

 

查阅了cvs2svn的FAQ,解决办法如下:

 

Here is the procedure for a successful installation of cvs2svn and all supporting libs:

1.Download the gdbm-1.8.3 (or greater) source, unarchive and change directory to gdbm-1.8.3. We need to install the gdbm libraries so python's gdbm module can use them. 

a.Type ./configure



b.Edit "Makefile" so that the owner and group are not the non-existing "bin" owner and group by changing 
	BINOWN = bin
	BINGRP = bin
	to 
	BINOWN = root
	BINGRP = admin


c.Type "make"

d.Type "sudo make install"

2.Download the Python2.6 (or greater) source, unarchive, and change directory to Python2.6. We need to enable python gdbm support which is not enabled in the default OS X 10.5.5 installation of python, as the gdbm libs are not included. However, we just installed the gdbm libs in step 1, so we can now compile python with gdbm support. 

a.Edit the file "Modules/Setup" by uncommenting the line which links against gdbm by changing 

	#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
	to 
	gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm

b.Edit the file "Modules/Setup" by uncommenting the line to create shared libs by changing 

	#*shared*
	to 
	*shared*

c.Type ./configure --enable-framework --enable-universalsdk in the top-level Python2.6 directory. This will configure the installation of python as a shared OS X framework, and usable with OS X GUI frameworks and SDKs. You may have problems building if you don't have the SDKs that support the PPC platform. If you do, just specify --disable-universalsdk. By default, python will be installed in "/Library/Frameworks/Python.framework", which is what we want.

d.Type make

e.Type sudo make install

f.Type cd /usr/local/bin; sudo ln -s python2.6 python

g.Make sure "/usr/local/bin" is at the front of your search path in ~/.profile or ~/.bashrc etc.

h.Type source ~/.profle or source ~/.bashrc etc. or alternatively, just open a new shell window. When you type which python it should give you the new version in "/usr/local/bin" not the one in "/usr/bin".

3.Download the cvs2svn-2.2.0 (or greater) source, unarchive and change directory to cvs2svn-2.2.0. Many people can't get cvs2svn to work except in the installation directory. The reason for this is that the installation places copies of cvs2svn, cvs2svn_libs, and cvs2svn_rcsparse in the /Library/Frameworks/Python.framework hierarchy. All we need to do is make a link in /usr/local/bin pointing to the location of cvs2svn in the python framework hierarchy. And for good measure we also make links to the lib and include directories: 

a.Type sudo make install

b.Create the required links by typing the following: 

	sudo ln -s /Library/Frameworks/Python.framework/Versions/2.6/bin/cvs2svn /usr/local/bin/cvs2svn

	sudo ln -s /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 /usr/local/lib/python2.6

	sudo ln -s /Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 /usr/local/include/python2.6

 

参阅上面的方法解决。

 

 

2)运行CVS2SVN转换库的时候,命令参阅附件,在pass5 cvs revision summaries时运行缓慢

 

这个问题耗了我很长时间,转换了一天一夜,sort.exe还在那不停的执行。查阅了所有的网上记录都没有解决方案。

 

解决方案如下:

在http://unxutils.sourceforge.net/UnxUpdates.zip地址下载UnxUpdates.zip,用里面的sort.exe替换附件中提到的sort.exe,问题解决。

 

3)运行工程中出现系统用户无法读取某个版本或者branch的错误:

 

解决办法如下:

 

 

修改CVSROOT里的config文件把SystemAuth=no 改成 SystemAuth=yes

       

 

成功转换结束。

 

如果该篇文章对你有用的话,请留下你的留言。

 

 

 

 

 

 

1
2
分享到:
评论

相关推荐

    SVN的安装和使用教程文档

    注:本人非本文档作者,分享仅供学习交流。若有人知道谁是作者,请为此文档添加作者信息。...连接到档案库的客户能读写数据。档案库记录了用户的每一次修改。客户端可以从档案库中提取到过去的版本。

    SVN安装使用手册 SVN 安装 使用 手册

    连接到档案库的客户能读写数据。档案库记录了用户的每一次修改!客户端可以从档案库中提取到过去的版本。 体系结构:采用了B/S与C/S相结合的方式。 B/S结构:可以通过浏览器访问仓库。 C/S结构:安装TortoiseSVN后...

    Tortoise SVN使用手册

    - **数据管理**:SVN的核心是一个中央档案库,用于存储文件的不同版本,并记录每一次的修改情况。 - **版本控制特性**:SVN不仅关注文件内容的变化,还记录文件移动、重命名等操作,确保了文件结构的一致性。 **...

    SVN.zip_svn

    SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件...

    Eclipse安装SVN-CC-GIT-VSS-CVS详细使用说明书

    这些数据放置在一个中央资料档案库 一、安装Subclipse 安装Subclipse的最好方法是使用Eclipse Update Manager。在Eclipse 3.x中,它位于Help -> Software Updates -> Find and Install...菜单下。 选择搜索要安装...

    Subversion(SVN) 使用介绍

    Subversion(简称SVN)是一种开源的版本控制系统,它的核心功能是管理随着时间变化的数据,将文件和目录的历次修改保存在中央资料档案库(repository)中。档案库类似于普通文件服务器,但具有版本追踪能力,允许...

    SVN使用具体方法.pdf

    它管理的数据存放在中央档案库中,这个档案库不仅可以记录每次文件变动,还可以让开发者将文件恢复到过去的版本或浏览文件的变动历史。提交操作的不可分割性,以及修订版本号基于每次提交而非文件,都让SVN成为一个...

    svn教程文档,新手帮助

    不同于 Git,Subversion 采用集中式管理模式,所有的版本信息都存储在一个中央资料档案库(repository)中,用户通过客户端连接到这个中央仓库进行操作。 **二、SVN 工作原理** 在 SVN 中,每个用户可以克隆一份...

    传智播客2015PHP34期SVN学习笔记

    SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的...

    SVN自己写的操作手册,通俗易懂!内容详细

    SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的...

    SVN与CVSpdf格式详细说明书

    (2),将SVN的bin 目录下的扩展名为*.dll的文件复制到apache的bin文件夹下 (3),将前面的#去掉(有#即被注释掉了): LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs...

    SVN服务实战应用指南1

    1. **中央资料档案库(Repository)**:SVN采用集中式的管理模式,所有的版本历史和当前状态都存储在中央服务器上的一个档案库中。这使得团队成员可以获取、更新和提交代码至同一中心位置。 2. **分支与合并**:在...

    TortoiseSVN-1.4.5.10425-win32-svn-1.4.5.msi

    SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的...

    SubVersion培训文档,详细地描述了svn的使用情况

    在SubVersion中,客户端可以访问档案库的历史版本,查询过去的文件状态,如查看特定日期的目录结构,或确定文件的最后修改人和变更内容。这种时间轴式的版本管理是所有版本控制系统的核心功能。SubVersion采用了...

    采用Subversion进行版本控制

    - **送交更改**:使用`svn commit`命令将本地更改提交至档案库,同时添加提交注释以描述更改内容。 - **历史记录**:通过`svn log`命令查看档案库的历史记录,了解每一次提交的信息。 #### 四、分支与合并的高级...

    SVN入门教程

    SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。 作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件...

    SVN服务器与VS2005客户端par1

    因此,在几年前,许多核心 CVS 开发人员认为,已经到了利用他们多年来使用 CVS 时学到的经验和教训、从头开始创建新一代开放源码存储库的时机。在 2004 年年初,他们的努力结出了丰硕的果实,那就是 Subversion 1.0...

    Subversion

    完成修改并通过冲突解决之后,用户可以使用`svn commit`命令将更改提交到档案库。 #### 四、分支与合并 ##### 4.1 何谓分支? 在Subversion中,分支是指从主线分离出来的另一个工作流,允许团队成员在一个隔离的...

Global site tag (gtag.js) - Google Analytics