RCS から Subversion へ移行2006/04/21 22:43

自分は自作ソフトの管理がルーズだ。カスタム版?があちこちに散在して収集がつかなくなってきたので、RCS から subversionを(DAV経由で)利用する方法に切り替えた。

ソフトはrpmからインストール。YaST で APACHE_MODULES に mod_svn を追加。mod_subversion.conf の設定では、Location タグに記載するパス名と実際のリポジトリのパス名とを部分的にも一致しないように設定するのがポイント。svnadmin にて Berkley database ではなく Native filesystem のリポジトリを作成すれば、サーバ側の準備は完了。

クライアントは TortoiseSVN だ。TortoiseSVN の設定→ネットワーク で proxy の設定をすれば、会社の proxy を通り抜けることができる。管理者に勘ぐられないように 通信路を SSL で暗号化しておく。

適当にフォルダ作って、右クリック→SVNチェックアウトを選択。リポジトリを指定してチェックアウトする。

リポジトリは更地なので、hoge/trunk フォルダを作成。hogeフォルダを右クリック→TortoiseSVN→追加、右クリック→コミットしておく。

RCS と文化が違うので、登録する段階から いきなり 悩む。

1) m回コミットしたら、更新していないファイルも、リビジョンmになる?

ヘルプによると「多くのバージョン管理システムと違い、Subversion のリビジョン番号はツリー全体に対してつけられるもので、個々のファイルにつけるものではありません。」そうで、「リポジトリがコミットを受け付けるごとに、ファイルシステムツリーの状態が新しく作成されます。これを リビジョン と呼びます。」とのこと。納得。

2) RCS で愛用していた $Id$ キーワードを、Subversion は自動展開しない!

ヘルプによると以下のようにファイルごとにキーワードを指定する必要がある。ローカルのファイルは置換されるが、リポジトリのファイルは $Id$ のままなのね。

svn propset svn:keywords Id foo.rb

TortoiseSVN での手続きは不明。そのうち慣れるでしょう。