【问题标题】:Commit failed error when committing new version to svn repository将新版本提交到 svn 存储库时提交失败错误
【发布时间】:2011-04-23 14:44:57
【问题描述】:

我正在尝试向我的 SVN 存储库提交一个新版本,但遇到了这个错误:

svn:提交失败(详情如下):
svn:无法使用外部编辑器获取日志消息;考虑设置 $SVN_EDITOR 环境变量或使用 --message (-m) 或 --file (-F) 选项
svn:环境变量 SVN_EDITOR、VISUAL 或 EDITOR 均未设置,也未找到“editor-cmd”运行时配置选项 new-computers-computer:trunk newcomputer$

怎么了?

【问题讨论】:

  • @Ether,如果您是 SVN 或命令行的新手,该错误消息毫无意义。查看 Blackcoat 接受的答案以查看有用的答案。
  • 导出 SVN_EDITOR=vi

标签: svn repository commit


【解决方案1】:

贾斯汀,

每次您使用 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

【讨论】:

  • 在你的 .bash_profile 添加:export EDITOR="$HOME/bin/mate -w"
  • 同样,您可以通过 export EDITOR='subl -w' 将 Sublime 设置为默认值。有关 Sublime 命令行设置的完整详细信息,请参阅sublimetext.com/docs/2/osx_command_line.html
  • -m 的消息将解决问题。 svn delete my/branch/path -m "type your message here" 这是带有消息的分支删除命令。
【解决方案2】:

如果你想设置每次运行时都会使用的默认编辑器

svn commit

在 shell 中尝试以下命令:

export SVN_EDITOR=nano

这会将 nano 设置为提交消息的文本编辑器。从现在开始,当你在没有-m 标志的情况下调用svn commit 时,nano 将打开。关闭 nano 后,SVN 将继续提交。

【讨论】:

  • 接下来会发生什么?请考虑在您的答案中添加说明。
  • 基本上当你需要设置默认编辑器时,你应该使用上面的命令。
【解决方案3】:

我在尝试将未版本控制的代码导入新存储库时遇到了类似的问题,根据发布在这个问题上的答案,我能够解决我的问题(谢谢大家)。

我正在分享我使用 apache/http 将本地项目导入到 SVN 的命令:

其中 TestCodeDir 是项目,尚未进行版本控制。

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

注意:您必须正确配置 apache 服务器并且它必须能够运行。

我希望这可以帮助某人。

【讨论】:

    【解决方案4】:

    我也有同样的问题,但它是在 Windows 上。我能够通过使用 -m (--message) 并提供提交消息来解决问题。

    我还尝试使用带有提交消息的 cygwin 并且有效。

    【讨论】:

      【解决方案5】:

      我在做的时候遇到了同样的问题:

      svn copy $svn_source_path $svn_destination_path
      

      我错过了添加 -m "log msg" 即

      svn copy $svn_source_path $svn_destination_path -m -m "Test tag creation"
      

      【讨论】:

        猜你喜欢
        • 2012-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-12
        • 2013-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多