2011-12-08 45 views

回答

5

Condering一個post-commit hook作用:

任何標準錯誤的鉤子將被編組回客戶端,使其更容易診斷鉤子的失敗。

你可以檢查,如果這不是一個簡單的問題帖:

echo "my message" >&2 

可以在那些hook examples任何echo>&2包括引號看到。

bash chapter on redirection還包含帶引號的示例。

然而,在his answerpmod細節,即標準錯誤信息將不可見,除非腳本的退出狀態從0不同,爲「subversion post-commit hook: print an error message that the user can see?

#!/bin/bash 
echo "test" >&2 
exit 1 
+0

由於pmod如下所述,如果此(或任何)鉤子返回非零返回值,則只會將stderr屏幕打印到客戶端。這可能是@CamelBlues遇到的問題。 – physicsmichael

+0

這個答案是錯誤的。 Pmod有正確的腳本必須返回非0值。 – Catskul

11

鉤子只有在失敗時纔會顯示STDERR(並且您可能現在鉤子不顯示STDOUT)。 因此,您必須從腳本中返回非零代碼,以便將「我的消息」傳遞給用戶(僅在echo後添加出口1)。

看看here

如果提交後鉤子返回非零值,提交將 不會終止,因爲它已經完成。但是,鉤子打印到stderr的所有內容都將彙總回客戶端, 可以更容易地診斷鉤子故障。

4

我有同樣的問題所示,與Apache和mod_svn。事實證明,編組失敗時編組文本包含&,<>字符。在用&amp;&lt;&gt;代替它們後,文本通過了。

+0

謝謝!這正是我們所面對的mod_svn。永遠不會想出來...... –

相關問題