2010-10-11 111 views
18

我試圖提交一個新的版本,我的SVN倉庫時,失敗的錯誤,但我遇到了這個錯誤:凱明提交新版本SVN倉庫

svn: Commit failed (details follow):
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found new-computers-computer:trunk newcomputer$

有什麼不對?

+0

@Ether,如果您是SVN或命令行的新手,那麼這個錯誤消息就意味着什麼。查看Blackcoat接受的答案以查看有用的答案。 – Sandy 2013-08-27 02:55:26

回答

26

賈斯汀,

你使用Subversion提交每一次,你需要寫的正致力於內容的摘要(即提交信息)。這個錯誤是因爲Subversion正在嘗試啓動一個文本編輯器,以便您可以編寫提交消息,但編輯器從未啓動。在你的.bash_profile中設置SVN_EDITOR就可以了。下面是關於如何設置VIM通過SVN使用的默認編輯器的一些詳細的一步一步的指示:Original link dead, replaced with archive.is mirror

另外,如錯誤信息提示,您可以加載從現有文件提交消息-f,或傳遞消息-m

例子:

svn commit -m "Fixed a regression that prevented pigs from flying (resolves issue #123, but causes strange behavior elsewhere)" 
svn commit -f /path/to/a/file/with/a/long/commit/message.txt 
+0

如果我想讓TextMate成爲默認的文本編輯器,該怎麼辦? – 2010-10-11 01:49:32

+1

在.bash_profile中,添加:export EDITOR =「$ HOME/bin/mate -w」 – Blackcoat 2010-10-11 01:57:31

+0

同樣,您可以通過執行export EDITOR ='subl -w''來設置Sublime爲默認值。有關Sublime命令行設置的完整詳細信息,請參閱http://www.sublimetext.com/docs/2/osx_command_line.html – Blackcoat 2013-03-04 18:53:01

16

如果要設置將使用每次運行

svn commit 

時間嘗試在外殼下面的命令默認編輯器:

export SVN_EDITOR=nano 

這會將nano設置爲提交消息的文本編輯器。從現在起,當您撥打svn commit而沒有-m標誌時,nano將打開。在關閉nano後,SVN將繼續提交。

+0

然後會發生什麼?請考慮在您的回答中添加說明。 – bahrep 2013-03-01 13:08:31

+0

基本上當你需要設置默認編輯器時,你應該使用上面的命令。 – Kersh 2013-03-01 16:02:44

0

我有一個類似的問題,而試圖導入一個沒有版本化的代碼到一個新的存儲庫,基於這個問題上發佈的答案我能解決我的問題(謝謝你們)。

我分享我用來導入本地項目到SVN上使用Apache/HTTP命令:

哪裏TestCodeDir是項目和尚未版本。

svn import /var/svn/TestCodeDir http://localhost/svn/TestCodeDir -m "Initial Commit" 

注意:必須要有Apache服務器配置好,它必須與要運行。

我希望這可以幫助某人。

2

我也有同樣的問題,但它是在Windows上。我能夠通過使用-m(--message)並提供提交消息來解決問題。

我也嘗試使用cygwin提交消息,並工作。