subversionのフックイベントが実行されなくて死亡

subversion では、コミット前とかコミット後とかを Hook して任意のプログラムを実行できちゃったりしますがー

今までHookなんか使ったこと無かった故に、どんなモンなのかと実験的利用してみるべく $REP_PATH/hooks の中に "post-commit" なシェルスクリプト*1置いて Hook を体験してみることにしたのです。

post-commit な sh

#!/bin/sh

REPOS="$1"
REV="$2"

# どこかのユーザーの所には出るでしょ(ぉ
echo "$REPOS / $REV" > ~/svn_post_commit.txt

でまぁ、亀svnからコミットしてみたのですが…コミット自体は出来ているモノの警告メッセージとして以下のようなメッセージが出ちゃっており 且つ 中身が実行されない状態に。

警告: post-commit hook failed (exit code 255) with no output.


はてー? Exit Code が 255? (== -1?)

そして "no output" とな? なんか標準出力に出力してあげなきゃならんのかしら…?




…とか変なこと考えてたんですけれども、原因はすげぇ単純でした。

$ ls -al
 -rw-rw-r-- 1 ir9 apache 2096  4月 15 11:12 post-commit

実行権限付いてない以上、実行できるわきゃない。 orz

なもんで、

$ chmod 774 post-commit
$ ls -al
 -rwxrwxr-- 1 ir9 apache 2096  4月 15 11:12 post-commit

ownerとgroupに(apache上でsvn動いてるし)実行権限付けた所、問題なくフックスクリプトが動作するようになりました。



インターネッツに繋がりません! ping が通りません!」と言いつつLANケーブル挿してなかった級の単純ミスですねこれ。ははは orz

*1:おいらのリポジトリサーバーは Linux なのよー