2012-09-13 59 views
1

我想從bash腳本中設置svn:externals屬性。失敗的線是:set svn:從腳本的外部

svn propset svn:externals \'WEB-INF/src/com/project https://subversion.assembla.com/svn/myProject/branches/Release_$Version/com/project\' . 

其中$Version是取自命令行參數的變量。

問題是,這條線從提示符正常工作,但不能在腳本中工作。我通過向控制檯迴應該行來測試此操作,將其複製並粘貼到命令提示符並運行。它在提示符下正常工作,但不能從腳本中正常工作。從腳本運行時,出現以下錯誤:

svn: E200009: Cannot mix repository and working copy targets 

我搜索了幾個小時的網絡,但找不到任何答案。我有一種感覺,問題可能是用於逃避字符的轉義字符,但我不知道如何解決它。

回答

2

你當然可以試着找到引號和反斜槓的正確組合,但爲什麼不使用臨時文件呢?例如:

cat > some_temp_file << EOF 
WEB-INF/src/com/project https://subversion.assembla.com/svn/myProject/branches/Release_$Version/com/project 
EOF 
svn propset svn:externals --file some_temp_file 
rm -f some_temp_file 

請注意,我沒有測試過我的代碼段。

+0

謝謝尼古拉,我試過這個,它的工作原理。感謝您提供清晰簡潔的答案。 – user1668073