2

我通常将 VIM 用于几乎所有与编码相关的事情。

我已经配置了我的环境,所以 Subversion 会在我执行时打开 VIM 来编辑提交消息svn commit。如果我关闭 VIM 而不保存提交消息(例如:):qa!,它将被丢弃,并且提交操作被中止。

如果我保存并关闭 VIM,则提交操作将开始。

如果提交失败,我有一些 SVN 提交消息似乎保存在 /tmp/ 中,文件名如 svn- ** .tmp。

在 VIM 中编写提交消息时,提交消息的文件名似乎为 svn-commit.1.tmp。我希望能够为我的下一次 SVN 提交恢复此消息。典型的用例是:

  1. 我试图承诺;在 VIM 中完成写入消息
  2. 提交失败
  3. 我解决了这个问题(例如svn update:)
  4. 现在我想svn commit再次尝试将上一条消息预加载到 VIM 中

感谢您的帮助。

4

3 回答 3

2

您始终可以使用-Fsvn commit 选项,它使用文件来创建日志消息。

每当我使用 svn 提交时,我首先创建一个日志文件:

vim log_file

然后我使用以下内容提交:

svn commit -F log_file --username blah

这对我来说一直很有效。

于 2012-06-06T20:42:23.090 回答
1

您可以尝试这样的事情: svn commit -F /tmp/svn-1.tmp 您可以在那里阅读更多内容:http: //svnbook.red-bean.com/en/1.0/re06.html

于 2012-06-06T20:42:23.267 回答
1

在您的 vim 会话中,只需读取旧日志文件的内容。这允许您在必要时调整旧消息,并且不会从根本上改变工作流程。

svn commit 

(打开 vim 会话)

:r /tmp/svn-**.tmp

-m另一种解决方案是使用标志从命令行进行提交。这通常具有相关 shell 的命令历史记录中的最后一次(失败)提交。

svn commit -m "Here is my message"

(提交失败,你解决它)

(向上箭头几次,然后重新运行提交)

于 2012-06-06T20:51:56.490 回答