环境:svn1.8 + httpd2.4 + Fedora20
环境搭建好了,用户,授权什么的都弄好了。想添加pre-commit这个钩子来检查日志信息:
拷贝hooks目录下的pre-commit.tmtl 为 pre-commit;
cp pre-commit.tmpl pre-commit chmod 755 pre-commit #都是用apache这个用户来启动的 chown apache pre-commit #内容如下 REPOS="$1" TXN="$2" HOOK=/var/www/svn/repos/ymxx_utils/hooks/svn_hook.jar resp=$(java -jar $HOOK -r $REPOS -t $TXN -e pre-commit) status=$(echo "$resp" | awk -F '!w_w!' '{print $1}') message=$(echo "$resp" | awk -F '!w_w!' '{print $2}') if [ $status == "ERROR" ] then echo "$message" 1>&2 exit 1 fi exit 0可是提交代码,死活都没反应,哪怕全改成exit 1,也根本没用,根本就没调用这个脚本。
之前在windows上改成pre-commit.bat,钩子是可以成功运行的,不过windows上是独立的svnserver没有和httpd结合。
还有就是有点区别的地方,在创建资源库时:
svnadmin create --fs-type fsfs --pre-1.6-compatible $my_repo
加了这个兼容的参数,不知道有没有影响呢?不加的话提交后会有error的提示(不过提交操作本身是成功的)