ビットアーツのWebアプリケーション受託開発
トップ > ブログ > CVS→Subversion移行

CVS→Subversion移行

2005年12月13日

先日に引き続き、今日は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はかなりイイ感じです。

コメントを書く

このエントリーを含むはてなブックマーク このWebページのtweets
Powered by EagleRay CMS