Subversionに本格移行

投稿者: | 2004年7月20日

 先日、Subversion 1.1.0-rc1が出たが、少し気になっていたパフォーマンス面での改善が図られたことと、将来に向けての互換性の道筋が出たことで、portugpradeなどについてもCVSからSubversionへの移行を決めた。

 以前に示した内容に補足する形で、移行のポイントを少々。

  • .cvsignoreの移行

     Subversionでは、ディレクトリのsvn:ignore属性に排除パターンを指定する。

    (既存の.cvsignoreがある場合)
    $ svn propset svn:ignore -F .cvsignore .
    property 'svn:ignore' set on '.'
    $ svn rm .cvsignore
    D         .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の出力で十分だ。

    $ svn log -v > ChangeLog
    

     これだといわゆるChangeLog形式ではないが、もし自動処理に使いたいのであれば、–xmlフラグを付ければXML形式で出力してくれる。その出力からChangeLog形式に整形してくれるsvn2clというツールもある。ただ、手元のレポジトリで試したところ、ファイル名が出ない、ログメッセージの2行目以降がインデントされない、などの問題があった。この程度だったら自分で書こうかな。

カテゴリー: Tech

コメントを残す

メールアドレスが公開されることはありません。