2012-05-21 43 views
0

我的svn propset命令在提示中調用時起作用,但在bash腳本的while循環中調用時無法正常工作。從腳本調用svn propset時不起作用

我的命令看起來像下面,

svn propset -r945 --revprop svn:log '[Release ] [story]' blahReport.sh

和我的腳本如下,

[[ ! -n $1 ]] && echo "Please enter the release number" && exit 1 

[[ ! -e $AC_SYSTEM/releases/filesforrelease.$1.txt ]] && rm $AC_SYSTEM/releases/filesforrelease.$1.txt 

cat $AC_SYSTEM/releases/release_$1.txt >> $AC_SYSTEM/releases/filesforrelease.$1.txt 

sed "s/^/#/g" $AC_SYSTEM/releases/filesforrelease.$1.txt >> /tmp/filesforrelease.$1.txt 

mv /tmp/filesforrelease.$1.txt $AC_SYSTEM/releases/filesforrelease.$1.txt 

svnlink="http://sublime-ssi/blah/blah/trunk" 

while read -r story 

do 

if [[ ! -e $story.file ]]; 

then 

while read -r storyline 

do 

     revNum=`echo $storyline | cut -d"|" -f1` 

     fileName=`echo $storyline | cut -d"|" -f2` 

     echo "$revNum ~ac/$fileName" >> $AC_SYSTEM/releases/filesforrelease.$1.txt 

svn propset -r"$revNum" --revprop svn:log "[$1] [$story]" "$svnlink"/"$fileName" 

     done<$AC_SYSTEM/stories/$story.file 

else 

echo "story file for $story does not exist..please check the story directory" 

exit 1 

fi 

done</export/home/acdba/ac/releases/release_$1.txt 

我已經做了腳本一套-x但它看起來好像沒什麼問題。

不知道錯過了什麼。對別人來說這可能顯而易見,有什麼建議嗎?

+1

任何錯誤輸出? –

+1

你會得到什麼錯誤?你能用set -vx運行並寫出失敗的實際命令嗎? –

+0

我得到的errir是授權失敗:無法驗證服務器:拒絕基本挑戰(http:// sublime-ssi)。只有當我在腳本中運行它時,纔會出現此錯誤,但不會出現提示。它在propset上失敗。它要求密碼,但輸入密碼,它只是失敗,並給出了認證錯誤 – BratVaddi

回答

0

由於對mark a comment as an answer的功能請求仍然有所下降,所以我在此複製上述解決方案。

我終於通過在svn命令中提供用戶名和密碼作爲參數來解決這個問題。 svn propset --username $ USER --password $ PASSWORD --revision「$ OLD_VERSION」--revprop svn:log「$ NEW_COMMENT」「$ svnlink」/「$ FILE」 - BratVaddi