June 26, 2006
# 備忘録として。
SVN でログ修正する場合 pre-revprop-change.tmpl を起動可能なファイル名にして(unix系なら .sh にして実行権限を付与したり、win系だと.batなどの拡張子にするなど)にしてフックスクリプトを有効にしないとログ修正ができないになっている。
#コミットログ(コミットメッセージ属性 svn:log) などの Subversionのリビジョン属性はバージョン化されていないので、そのような属性に対する修正は以前の属性値を永久に上書きしてしまいます。バージョン化されていない属性データを失うことに対するあらかじめの警告の意味で、Subversion クライアントはこのフックが自分のリポジトリに実装されているのではない限りリビジョン属性をリモートに変更することは決してありません。
ログ修正できたとしても過去に記述したログの内容が永遠に闇に葬られるのは困るので、通常はログ修正が発生した場合には管理者にメールを送信したりして過去の情報が失われないようにする。
今回はメール送信ではなくログ修正の履歴をログファイルに落とし込むバッチファイルを作成した。(unix系だと awk,sed などを使用して色んな編集やリダイレクトもできるだが、perl もruby も何も入ってない ノーマルの winサーバを使用する想定で作成するとこれが限界でした。。。)
作成したフックスクリプト(MS-DOSバッチファイル)は post-revprop-change.bat と pre-revprop-change.bat ペアで初めて意味のあるものになります。
post-revprop-change.bat
pre-revprop-change.bat
関連用語
svnadmin setlog
post-revprop-change hook
トラックバック
このエントリーのトラックバックURL:
http://www.spring-aki.sakura.ne.jp/mt_/mt-tb.cgi/179