BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

CVS→Subversion移行

https://bitarts.jp/blog/archives/001304.htmlに引き続き、今日はCVSからリポジトリを移行してみる。とりあえず移行するのは当サイトコンテンツ(CVSで管理してます)のリポジトリRPMでcvs2svnをインストールすればいいんだけど、いくつか依存パッケージがあるので一緒にインストール。 # rpm -ivh swig-1.3.19-3.i386.rpm # rpm -ivh subversion-python-1.2.3-1.rh90.i386.rpm # rpm -ivh cvs2svn-1.2.1-1.noarch.rpm で、変換はこれだけ。 $ cvs2svn -s /path/to/svnroot /path/to/cvsroot できあがったリポジトリはAnonymousリードオンリーの状態なので、とりあえず簡単な認証で読み書きを許可させることにする。conf/svnserve.confに次の設定を入れる。 [general] anon-access = none auth-access = write password-db = passwd conf/passwdにユーザー名とパスワードを書く。 [users] username = PASSWORD conf/passwdはパーミッションを0600に変えておいたほがいいと思う。 $ chmod og-rw conf/passwd よし!TortoiseSVNからチェックアウト!URLはこんな感じで、/trunk下のディレクトリを指定する。 svn://HOSTNAME/path/to/svnroot/trunk/moduleName が、途中でエラー。なぜか所々にわけわかんないファイルが混ざってるみたい。そういう場合は、TortoiseSVNリポジトリブラウザで削除してしまう。これでチェックアウトに成功!以上! ちなみに、cvs2svnを使わず、履歴をあきらめて、cvs exportしてからsvn importする方法も書いておく。(こっちのほうが速いし、変換中にコケる可能性も少ないらしい) CVSからエクスポート。 $ cvs export -D 2005-12-12 moduleName Subversionリポジトリを作る。 $ svnadmin create /path/to/svnroot 上に書いた方法でリポジトリへの書き込みを許可させる。そうしないとインポートできない。さらに、環境変数SVN_EDITORかEDITORにログを書くためのエディタを指定しておく必要がある。 export EDITOR=vi そしてインポート。 $ svn import modulrName \ svn://sv.pixy.ne.jp/home/miyamae/svn/modulrName それにしても、TortoiseSVNはかなりイイ感じです。