2014-02-06 58 views
0

我想使用後提交掛鉤調用腳本,但它失敗,因爲它找不到各種命令。Svn post-commit掛鉤失敗的命令未找到

我的研究表明,在執行post-commit掛接時基本上沒有加載環境變量,所以我想這就是爲什麼它找不到像ping這樣的命令。

有沒有辦法在我的post-commit掛鉤中定義足夠的內容,以便我可以調用在基準POSIX命令上運行的腳本?

回答

3

Subversion的鉤子腳本與一個空環境中執行。最佳做法是在腳本中指定完整路徑(以及可能調用的任何其他腳本),或者在鉤子腳本本身中設置所需的環境變量。

manual

出於安全原因,Subversion版本庫執行鉤子程序有一個空的環境,即沒有設置環境變量可言,甚至沒有$ PATH(或%PATH%,在Windows下)。因此,許多管理員在他們的鉤子程序手動運行時都很困惑,但在Subversion運行時無法工作。一定要在鉤子程序中明確地設置任何必要的環境變量和/或使用程序的絕對路徑。

1

在你的鉤子開始,您可以設置PATH等環境變量:

LANG=en_US.UTF-8 
PATH=/path/to/bin:/another/bin:$PATH