我正在尝试将新版本提交到我的SVN存储库,但遇到了这个错误:
svn:提交失败(详情如下):
svn:无法使用外部编辑器获取日志消息;考虑设置$ SVN_EDITOR环境变量或使用--message(-m)或--file(-F)选项
svn:没有设置环境变量SVN_EDITOR,VISUAL或EDITOR,也没有找到'editor-cmd'运行时配置选项 new-computers-computer:trunk newcomputer $
怎么了?
答案 0 :(得分:31)
贾斯汀,
每次使用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
答案 1 :(得分:16)
如果要设置每次运行时将使用的默认编辑器
svn commit
在shell中尝试以下命令:
export SVN_EDITOR=nano
这会将nano设置为提交消息的文本编辑器。从现在开始,当您在没有svn commit
标记的情况下拨打-m
时,nano将会打开。关闭nano后,SVN将继续提交。
答案 2 :(得分:2)
我也有同样的问题,但它是在Windows上。我能够通过使用-m(--message)并提供提交消息来解决问题。
我也尝试过使用带有提交消息的cygwin,并且有效。
答案 3 :(得分:0)
我在尝试将未版本化的代码导入新的存储库时遇到了类似的问题,基于此问题上发布的答案,我能够解决我的问题(谢谢你们)。
我正在使用apache / http:
分享我用于将本地项目导入SVN的命令TestCodeDir是项目的地方,尚未进行版本控制。
svn import /var/svn/TestCodeDir http://localhost/svn/TestCodeDir -m "Initial Commit"
注意:您必须配置好apache服务器并且必须运行它。
我希望这可以帮助别人。
答案 4 :(得分:0)
我在执行操作时遇到了同样的问题
svn copy $svn_source_path $svn_destination_path
我没有添加-m“ log msg”,即
svn copy $svn_source_path $svn_destination_path -m -m "Test tag creation"