Software Engineer and Web Developer's Diary

1年後の自分に向けて

Subversion でキーワード置換を使うには

ファイルをメンテナンスする度にヘッダーコメントを修正するのは非常に手間だし修正忘れもよく起こりいいことがない。

以下の例のようにヘッダーコメントを自動で設定するようにしたい。

@version $Id: xxxxx.php 391 2007-01-01 18:36:59Z xxxxx $

調べてみるとこれはキーワード置換という CVSSVN のようなバージョン管理ツールが持っている機能を使っているらしい。 以下はキーワード置換を有効にする方法。

Subversion の propset コマンドを使います。

find . -name "*.php" -exec svn propset svn:keywords "Id" {} ;

Id 以外のキーワードも使いたい場合は、ダブルコーテーションでくくって以下のようにします。

find . -name "*.php" -exec svn propset svn:keywords "Id Revision LastChangedBy Date" {} ;

あとは普通にコミットすれば自動で、$Id$ という文字列が展開されます。

あと毎回 propset コマンドで設定するのはめんどくさいので、ファイルを追加する時に自動で propset を設定するようにします。

どこでもいいのでディレクトリを右クリックします。※TortoiseSVN がインストールされているのが前提 で、右クリック->TortoiseSVN->設定->一般->Subversion の編集ファイル->編集 を実行。すると設定ファイルが開かれるので、

[miscellany]
enable-auto-props=yes
[auto-props]
*.php = svn:keywords=Id
*.tpl = svn:keywords=Id
*.thtml = svn:keywords=Id

を追記します。 これで次回から追加するファイルは自動でキーワード置換が有効になります。

参考 Subversion キーワード置換を自動で設定する方法