CVSからSubversionへの移行はけっこう簡単だ。
- レポジトリの移行
cvs2svnを使う。今ではCVSのタグやブランチにも対応していて、ほぼ完全に移行できる。CVSのモジュール(というかプロジェクト)ごとにSubversionレポジトリを作るのがおすすめ。
- CVSWebやViewCVSの移行
ViewCVSのCVS最新版はSubversionに対応している。SubversionのPythonバインディングを使うので、FreeBSD portsではdevel/subversionを入れる際にWITH_PYTHON=yesを指定しておく必要がある。
- cvs over sshの移行
svn+sshというレポジトリのスキームが最初からある。
- cvspserverの移行
レポジトリ内のconf/svnserve.confでアクセス権等を設定し、svnserve(8)を上げるだけ。ポート番号は3690。壁越えはApache2で云々が必要になるが、まあそういうのは後回しでいいと思う。
- $Id$等のタグ置換は?
file1とfile2のタグを展開してほしいとしたら、こうすればいい。
12345$ svn propset svn:keywords 'Id Date Rev Author' file1 file2property 'svn:keywords' set on 'file1'property 'svn:keywords' set on 'file2'$ svn ci(commitする)ただし、Revisionはファイルごとに系列があるのではなくレポジトリ内で起きる1 commitごとに付くので、CVSとは意味合いが違ってくる。また、1から始まるのでバージョン番号に転用するには都合が悪いかもしれない。ビルド番号、ならそれっぽいかな。