実行タイミング | 主な用途 | |
---|---|---|
start-commit | コミットトランザクション作成前 | ユーザー名に基づいたコミット拒否。Subversion のバージョンチェック。
たとえば merge-tracking をサポートしていないクライアントから merge-tracking をサポート
している Subversion 1.5 以降のサーバーへのコミットを拒否するなど。 Subversion 1.5 では引数が 3 つになっています。 |
pre-commit | コミットトランザクション作成後で、コミット直前 | コミットするデータの内容またはコミットログによるコミット拒否 |
post-commit | コミット直後 | リポジトリデータのバックアップ、変更メール通知 |
pre-revprop-change | リビジョン属性変更前 | リビジョン属性変更の許可 |
post-revprop-change | リビジョン属性変更(コミットログ等)の直後 | リビジョン属性のバックアップ、変更メール通知 |
pre-lock | ロック取得直前 | |
post-lock | ロック取得直後 | メール通知 |
pre-unlock | ロック解放直前 | |
post-unlock | ロック解放直後 | メール通知 |
例
例
start-commit と pre-commit はコミットを行う前に実行されるフックスクリプトです。
これらのフックスクリプトでできるのはコミットを許可するか禁止するかの判断だけです。 コミット内容をフックスクリプトで変更することはできません。
フックスクリプトが実行されるときには、セキュリティ上の理由から 環境変数(PATH 変数も)がすべて空の状態で起動されます。
このためスクリプト内部で外部プログラムを起動する場合は絶対パスを 使用するかスクリプト内部で環境変数を設定する必要があります。