Home > Tags > subversion

subversion

Mac OS X への Subversion のインストール

subversion: Subversion Packages からダウンロードします。
Fink と .dmg の 2 つが用意されているけれど、.dmg 版はバージョンが 1.3 までしかないので、バージョン 1.4 まである Fink を使ってインストールすることにする。

Fink のインストール
Fink – Download Quick Start を参考にインストール。

Subversion のインストール

fink list svn |lessfink selfupdatefink install svnfink install svn-client

そのままだと svn のバージョンが古いので selfupdate をする。ただ他にも方法があるような気がする。svn のインストールは時間がかかるのでのんびり待ってください。

複数ファイルを一括で文字列置換したい

今回行ったのは、Subversion のキーワード置換用の “$Id$” という文字列が入っていないファイルに対して一括で挿入する処理です。
ほんとうは実行結果のログも取得したいところですが、時間がなかったのでログはなしで。

for i in `find -name "*.php"`; do sed -e 's/@version.*$/@version $Id$/' $i > $i.new && mv $i.new $i; done

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

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

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

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

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

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 キーワード置換を自動で設定する方法

ホーム > タグ > subversion

ぴくちゃー
ブログパーツ

ページの上部に戻る