无法从svn预提交挂钩生成输出

时间:2013-05-25 16:36:51

标签: svn pre-commit-hook

我有一个centos6 linux服务器托管一个svn(版本1.6.11(r934486))repo,可通过Apache通过DAV访问。我正在使用windows tortoise-svn client 1.7.12来访问repo。

我有一个非常简单的测试预提交钩子,它总是会失败。

echo "this is a test"
exit 1

尝试使用

提交失败
Sending content: D:\code\foo\test.c  
Error: Commit failed (details follow):  
Error: Commit blocked by pre-commit hook (exit code 1) with no output.  
Completed!:   

我期待在我的客户端上看到“这是一个测试”,但我得到了预提交挂钩,没有输出。 hooks / pre-commit是可执行的,并且在linux服务器上手动运行时回显预期的输出。

关于我缺少什么的任何指示?

1 个答案:

答案 0 :(得分:6)

仅打印到stderr的输出被中继到客户端。因此,以下更改应使您的测试挂钩工作:

echo "this is a test" >&2
exit 1

供参考,以下是Subversion book的相关引用:

  

“如果pre-commit挂钩程序返回非零退出值,则为   提交被中止,提交事务被删除,等等   打印到 stderr 会被编组回客户端。“