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