SVN post-commit hook将消息发送回客户端

Cam*_*ues 11 svn bash stderr post-commit-hook

我正在用bash编写一个post-commit脚本,我想将消息传递给正在提交的客户端.然而

echo my message >&2
Run Code Online (Sandbox Code Playgroud)

并没有让它回到客户端.甚至可以使用post-commit钩子发回消息吗?

pmo*_*mod 13

只有当它失败时,Hook才会显示STDERR(现在,钩子不会显示STDOUT).因此,您必须从脚本返回非零代码以将"我的消息"传递给用户(只需在echo之后添加退出1).

看看这里:

如果提交后挂钩返回非零退出状态,则提交将不会中止,因为它已经完成.但是,钩子打印到stderr的任何内容都将被编组回客户端,从而更容易诊断钩子故障.


Von*_*onC 6

post-commit钩子进行修改可以:

钩子打印到stderr的任何东西都会被编组回客户端,从而更容易诊断钩子故障.

你可以检查这不是一个简单的报价问题:

echo "my message" >&2
Run Code Online (Sandbox Code Playgroud)

你可以看到那些挂钩的例子,任何echo>&2包括引号.

关于重定向bash章节还包括带引号的示例.

但是,正如他的回答中的pmod详细信息一样,除非脚本的退出状态与0不同,否则stderr消息将不可见,如" subversion post-commit hook:打印用户可以看到的错误消息? "

#!/bin/bash
echo "test" >&2
exit 1
Run Code Online (Sandbox Code Playgroud)