我想从CVS执行迁移使用svn这是运行OS X Server的我我们的全新Xserve服务器上。存在这样来预安装了OS X的误差是cvs2svn和DBM库之间的已知冲突:

  

错误:cvs2svn使用anydbm包,它依赖于较低水平的dbm库。您的系统有一个DBM,与cvs2svn是已知有问题。要使用cvs2svn,您必须安装比dumbdbm或DBM等一个Python DBM库。请参见 http://python.org/doc/current/lib/module-anydbm .HTML 获得更多的信息。

我遵循所有在 cvs2svn常见问题解答规定的步骤,但错误依然存在。有谁知道的另一种方式来完成这项任务,或者另一个网站,提供了不同的解决方案,这个看似普通的问题?

有帮助吗?

解决方案

由于CVS和Subversion版本库其实只是文件的集合,一个方法可以解决这个问题可能是你的CVS存储库复制到一台机器,其中cvs2svn可以成功运行,运行它转换到Subversion,然后再复制新库回您的服务器。这种方法的好处是,你将无法运行小心搞乱了你的服务器配置,而这样做转换步骤的风险。

其他提示

cvs2svn本身是MacPorts的这么用,而不只是DBM库,你可以使用MacPorts的安装cvs2svn:

port install cvs2svn

如果尚未安装,它还将安装的python2.5和其他依赖的MacPorts的版本。有,完全没有副作用,但它会需要一点时间,一点点额外的空间。其优点是,你应该有一个工作,支持的版本,而不必再拼依赖问题。

您总是可以手动安装使用例如其他的dbm库MacPorts的。

如果您已经安装了颠覆,你确保该路径在您的系统变量设置正确?

我有同样的问题,在我的,我最后不得不加入PYTHON_HOME和路径变量使用

C:\ Pyton27 \

也许听起来有点疯狂的或矫枉过正,但考虑使用'git的人(例如MacPorts的版本)。它克隆完整的CVS历史和它推到一个Subversion版本库。下面的步骤应该做的工作(看命令的手册,帮助混帐'cmd'):

    port install git-core cvs cvsps svn (if necessary)

    create directory for git and init cvs git repo (let´s say ´cd ~/cvsgit´):
    git cvsimport -v -d CVSROOT module

    create new subversion repository (svnadmin) with trunk, tags, branches
    now import this new repository to a git repository:
    git svn clone -s file:///path/to/svnrepo  (without trunk, tags, branches)
    this creates a svnrepo directory; rename and move it to e.g. ~/svngit

    now add the cvs git repo to svn repo:
    cd ~/svngit
    git remote add cvsrepo ~/cvsgit
    git fetch cvsrepo

    now merge the cvs master branch to the local svn master branch:
    git merge remotes/cvsrepo/master

    finally commit to (real) svn repository:
    git svn dcommit

您就大功告成了!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top