SVNの移行にCVSを実行するためのcvs2svnするオルタナティブ
質問
私はOS X Serverを実行している私たちの新しいのXserveサーバ上でsvnをするために、CVSからの移行を実行しようとしています。エラーがあるOS Xにプリインストールされて来cvs2svnとDBMライブラリ間の既知の競合があります:
ERROR:cvs2svnは、低レベルのDBMライブラリに依存anydbmパッケージを、使用しています。お使いのシステムでは、cvs2svnは問題があることが知られているとDBMを、持っています。 cvs2svnを使用するには、dumbdbmやDBM以外のPythonのdbmライブラリをインストールする必要があります。 http://python.org/doc/current/lib/module-anydbmを参照してください。詳細については、.htmlをするます。
私は cvs2svnよくある質問の中のすべての規定の手順に従ってもエラーが解消されません。このタスクを実行する別の方法、またはこの一見共通の問題に対する別の解決策を提供する他のウェブサイトで、誰を知っていますか?
解決
CVSやSubversionのリポジトリは実際にファイルの単なる集合であるので、この問題を回避するための1行の方法はcvs2svnは、正常に実行されたSubversionに変換するためにそれを実行し、新しいをコピーすることができ、マシンにあなたのCVSリポジトリをコピーするかもしれませんサーバーへのリポジトリバック。この方法の追加の利点は、この変換ステップをしながら、誤ってサーバー構成をめちゃくちゃのリスクを実行しないということです。
他のヒント
、あなたはMacPortsのを使用してcvs2svnをインストールすることができます:
port install cvs2svn
まだインストールされていない場合は、、それはまたのpython2.5や他の依存関係のMacPortsのバージョンをインストールします。そこには害はその中でませんが、それは少しの時間と少し余分なスペースがかかります。利点は、あなたが作業を持っているべきであるということです、さらに依存関係の問題を戦うためになくても、バージョンをサポートします。
あなたは常に手動で、例えば使用して他のdbmライブラリをインストールすることができMacPortsの。
あなたはすでにSubversionがインストールされている場合は、パスがシステム変数に右に設定されていることを確認しましたか。
私は私にその同じ問題を持っていたし、私が使用するPython_Home、パスに変数を追加するためになってしまった。
C:\ Pyton27 \
は、たぶん少し狂っまたは過剰に聞こえるが、「gitの」(例えばMacPortsのバージョン)を使用して考えます。それは完全なCVS履歴をクローンとSubversionリポジトリにそれをプッシュします。作業を行う必要があり、次のステップは、(コマンドのマニュアルを見て、gitのヘルプ'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
あなたは完了です。