我有一個後提交的SVN鉤子運行命令行很好,當我運行SVN的post-commit腳本命令行中運行,而不是commiting文件時(S)使用svn
env - ./foo.sh /path/to/svn/repos/ 12345
但當從svn調用腳本時,它看起來不起作用。
我基本上做的是檢查提交的文件,如果某個文件被修改,我會將它導出到網絡共享。從命令行運行良好。
的後提交腳本如下:
#!/bin/sh
REPOS="$1"
REV="$2"
CHANGED=`/usr/bin/svnlook changed -r "$REV" "$REPOS"`
SOURCE="svn+ssh://localhost/path/to/svn/repos/somefile.zip"
DEST="/mnt/build/somefile-r$REV.zip"
if [[ "$CHANGED" =~ "trunk/somedir/somefile.zip" ]]
then
`/usr/bin/svn export --non-interactive --trust-server-cert $SOURCE $DEST`
fi
exit 0
有沒有辦法來輸出的任何錯誤消息,當腳本運行的文件,或者專門的SVN導出線(在這裏我覺得可能是一個問題)?
對於好奇心,我發現當從svn調用時,腳本作爲簽入文件的用戶運行)。從使用svn + ssh://方案切換到file://而不是修復它 – funkadelic 2010-04-02 18:33:15