先日、Subversion 1.1.0-rc1が出たが、少し気になっていたパフォーマンス面での改善が図られたことと、将来に向けての互換性の道筋が出たことで、portugpradeなどについてもCVSからSubversionへの移行を決めた。
以前に示した内容に補足する形で、移行のポイントを少々。
- .cvsignoreの移行
Subversionでは、ディレクトリのsvn:ignore属性に排除パターンを指定する。
1234567891011121314(既存の.cvsignoreがある場合)$ svn propset svn:ignore -F .cvsignore .property 'svn:ignore' set on '.'$ svn rm .cvsignoreD .cvsignore$ svn ci(commitする)(ない場合)$ svn propedit svn:ignore .(エディタで編集)Set new value for property 'svn:ignore' on '.'$ svn ci(commitする) - ChangeLogの移行
Subversionにおいては、複数のファイルに対する変更も、commitしたトランザクション単位でリビジョンが振られ、ログエントリが残るので、cvs2clのようなツールを使う必要もないし、ChangeLogをレポジトリ内でメンテナンスする必要もない。きちんとcommit logを書けば、svn logの出力で十分だ。
1$ svn log -v > ChangeLogこれだといわゆるChangeLog形式ではないが、もし自動処理に使いたいのであれば、–xmlフラグを付ければXML形式で出力してくれる。その出力からChangeLog形式に整形してくれるsvn2clというツールもある。ただ、手元のレポジトリで試したところ、ファイル名が出ない、ログメッセージの2行目以降がインデントされない、などの問題があった。この程度だったら自分で書こうかな。