我有一个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服务器上手动运行时回显预期的输出。
关于我缺少什么的任何指示?
答案 0 :(得分:6)
仅打印到stderr的输出被中继到客户端。因此,以下更改应使您的测试挂钩工作:
echo "this is a test" >&2
exit 1
供参考,以下是Subversion book的相关引用:
“如果
pre-commit
挂钩程序返回非零退出值,则为 提交被中止,提交事务被删除,等等 打印到 stderr 会被编组回客户端。“