2009-07-27 52 views
3

OS X Serverを実行している新しいXserveサーバでcvsからsvnへの移行を試みています。 OS Xと、プリインストールされていcvs2svnとDBMライブラリ間で知られている矛盾があるエラーは次のとおりです。cvsからsvnへの移行を行うためのcvs2svnの代わり

ERROR: cvs2svn uses the anydbm package, which depends on lower level dbm libraries. Your system has dbm, 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内のすべての規定の手順に従ってもエラーが解消されません。誰かが、この仕事を達成するための別の方法、またはこの一見一般的な問題とは異なる解決策を提供する別のWebサイトを知っていますか?

+0

を922750 –

答えて

7

CVSリポジトリとSubversionリポジトリは実際にはファイルの集まりなので、この問題を回避する方法の1つは、CVSリポジトリをcvs2svnが正常に実行できるマシンにコピーして実行してSubversionに変換し、新しいリポジトリをサーバーに戻します。この方法の利点は、この変換ステップを実行している間にサーバー構成を間違って駄目にするリスクを冒さないことです。

1

他のdbmライブラリをいつでも手動でインストールできます。 MacPorts。

0

ちょっとクレイジーで過度に聞こえるかもしれませんが、「git」(MacPorts版など)を使用することを考えてください。それは完全なCVS履歴をクローンし、それをSubversionリポジトリにプッシュします。次の手順で作業を行う必要があります(コマンドのマニュアル、git help '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 

完了です!

+1

git-cvsimportは、CVSリポジトリを除くすべてのCVSリポジトリの変換に深刻な問題があることに注意してください:http://marc.info/?l=git&m=123626637729412&w=2 – mhagger

+0

cvs2svnのように/ – mtp

+0

mtp: cvs2svnに関する苦情をバックアップするための詳細(およびバグレポート!) (免責事項:私はcvs2svnのメンテナであるため、私は少し個人的にそれを取る。) – mhagger

3

cvs2svn自体ではなく、単にDBMライブラリの、あなたはMacPortsのを使用してcvs2svnをインストールすることができ、とてもMacPortsの中で提供されています:

port install cvs2svn 

まだインストールされていない場合、それはまたのpython2.5のMacPortsのバージョンをインストールし、その他の依存関係それには害はありませんが、少し時間と余分なスペースが必要です。利点は、さらに依存関係の問題に対処することなく、動作しているサポートされているバージョンを持つ必要があることです。

1

すでにサブバージョンがインストールされている場合は、パスがシステム変数に正しく設定されていることを確認しましたか?

私は私と私に同じ問題が

C使用するPython_Homeの変数とパスを追加するためになってしまったということでした:\ Pyton27 \ http://stackoverflow.com/questions/に関連

関連する問題