github.comでphp-users.jpを管理するまでの作業ログ | IDEA*IDEAを参考にして、こんな cgi をおいといて Post-Receive URL に設定しといた。これで pull いらず。
#!/usr/bin/perl # $Id$ use strict; use warnings; use CGI; my $cgi = CGI->new; my $ret = `cd /home/kyanny/www/rwsp.jp && export HOME=/home/kyanny && /home/kyanny/local/bin/git pull`; print $cgi->header(-type => 'text/plain'); print $ret; 1;
export HOME=/home/kyanny はいらんかも。 cgi だから www とか daemon とか nobody とかなユーザー権限で実行されるんかなと思ったけど、なんか system("whoami > whoami.txt"); とかやると kyanny ってなった。