cvs2svn

ホームページのhtmlとか、つくったMTのプラグインや、XOOPSのモジュールをCVSで管理していたんだが、最近仕事でSubversionを使うようになって、そちらの方がよさげだったので、変換できないものか調べてみた。

Googleの検索結果

どうやら、cvs2svnというツールを使えばいいというのが判ったのだが、環境を整えるのがなかなか大変だった。
とりあえず、cvs2svnのhttp://cvs2svn.tigris.org/からSubversionを使ってチェックアウト。

cvs2svnを使うのにPythonをhttp://www.python.jp/からダウンロードして、インストール。

ここまでの作業は、こちらのサイトを参照。

cvs2svnによるリポジトリ変換

[ cvs2svnによるリポジトリ変換 ]

cvs2svnは、ちゃんとインストールしなくても、とりあえず動作する。コマンドプロンプトか、cygwinコンソールでcvs2svnを展開したフォルダまで移動してPython cvs2svnで使える。インストールしたPythonはパスを通しておいたほうが、使い勝手がいい。
さらに、Windowsのsortとかだと、うまく動作しないので、cygwinのsort,tee, coをcvs2svn直下にコピーしておく必要がある。

少しはまった事、↑のサイトではauto-propsを設定していたんだが、これの意味が実はよく分からないままやってしまって後悔している。
特に、svn:eol-style=native;は要注意。ヘタにこれを設定すると、あとでSubversionのコミットで怒られる。
ファイルの改行を、ちゃんと管理してないでこれをやるとハマる。LFとCR+LFが混在している環境でやってしまったせいか、苦労した。

実際の変換は、一回ダンプファイルに落として、それを登録しなおす方法にしました。

python cvs2svn --dump-only --dumpfile=xxxx.dump --auto-props=cvs2svn.config --encoding=SHIFT_JIS CVS_PATH

そんなこんなで、なんとかSubversionに移行できました。単純に移行すると、avender, areleaseとかってのが付いてくるので不要だったので削除。

とりあえず、やっとSubversion使える環境になりました。TortoiseSVN使ってるおかげもあるけれど、管理が楽になった気がします。

関連エントリー:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です