svn从bash脚本提交而不打开编辑器

时间:2013-02-02 19:02:29

标签: bash svn commit

我尝试编写一个应该提交给svn repo的bash脚本。一切正常,直到我尝试提交。 commit命令打开编辑器,脚本以提交消息留在svn-commit.tmp

中的错误结束

我尝试了几件事,但没有一件事可行

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脚本中提交的任何想法?

2 个答案:

答案 0 :(得分:3)

您应该在svn命令中使用--non-interactive选项:

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

答案 1 :(得分:1)

我尝试svn ci而不是svn commit后,一切都很好。我的第一个想法是svn的错误版本。问大转储(又名谷歌)我发现解决方案::在我的.bash_profile中是一个代码snippt,迫使svn commit总是在svn ci按预期工作时打开编辑器。

我不知道代码片段的确切位置,但Windows用户必须对抗许多神秘的行为。

感谢大家的帮助。