2013-02-02 70 views
3

我嘗試編寫一個bash腳本,該腳本應提交到svn repo。一切工作正常,直到我嘗試提交的地步。 commit命令打開編輯器和腳本與提交信息留在svn-commit.tmpsvn從bash腳本提交而無需打開編輯器

我試了幾件事情,但沒有將工作

commit_msg="$1" 
svn commit -m "$commit_msg" 

commit_msg="$1" 
svn commit -m '$commit_msg' 

結束錯誤和

commit_msg=$1 
svn commit -m '$commit_msg' 

和所有與-q--non-interactive經營者。即使svn commit -m "woohoo"打開編輯器,腳本以錯誤結束。

任何想法,爲什麼不打開編輯器不可能在bash腳本中提交?

+0

如果從命令行運行'svn commit -m「...」',編輯器是否也會打開? – Shahbaz

+0

不,只有在bash腳本中使用'svn commit'。 –

+1

你從'type svn'中得到了什麼? – choroba

回答

2

您應該使用在SVN命令--non-interactive選項:我試過svn ci而不是svn commit

svn commit --non-interactive -m '$commit_msg' 
+1

我的英語很糟糕,我知道。但是「...和所有使用-q和--non-interactive操作符」可能暗示我已經嘗試過了。對不起,沒成功。 –

1

,一切都很好。我的第一個想法是svn的錯誤版本。問大轉儲(又名谷歌)我找到了解決方案::在我的.bash_profile是一個代碼snippt,迫使svn commit總是打開編輯器,而svn ci按預期工作。

我不確切知道代碼片段來自哪裏,但Windows用戶必須與很多神祕的行爲作鬥爭。

謝謝大家的幫助。

+0

大轉儲 - 這是一個很好的轉儲 –