报错信息

SVN在使用命令svn commit提交时报错信息如下所示:

1
2
3
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 is set, and no 'editor-cmd' run-time configuration option was found

原因分析:SVN操作时强制要设置日志信息,没有提供就会报以上错误信息。

最简单的解决办法:不想填写日志信息,命令上加上 -m ''即可,也就是在 -m之后加上空字符串。

Linux下解决办法

设置环境变量SVN_EDITORvim

1
export SVN_EDITOR=vim

Windows下解决办法

这个提示要求我们指定一个记录日志的文件或者在系统环境变量中增加一个SVN_EDITOR的变量。两者选其一就可以了。

方法一:在系统环境变量中增加一个SVN_EDITOR的变量。

  1. 系统变量 -> 新建 -> 变量名:SVN_EDITOR;变量值:C:\Windows\System32\notepad.exe
  2. svn仓库目录 -> conf目录 -> 打开svnserve.conf -> 找到两行:#anon-access=read#anon-access=write-> 删除#

完成设置后。重新打开一个新的命令行窗口,这样修改才会生效。
Ps:如果第二步没有做,会提示“认证失败”。这个方法的不方便之处是每次执行svn后,都会弹出一个窗口。

方法二:指定一个记录日志的文件。

  1. 在C盘下建立一个日志文件:log.txt,内容为空。
  2. 执行命令 svn commit abc.txt –F c:\log.txt

其他思路

如果还是不行,就按照错误提示加上提交的日志信息:

1
svn commit -m "comit messages content..."

或者

1
svn commit -m ""