我通常将VIM用于与编码相关的几乎所有内容。
我已经配置了我的环境,因此当我执行svn commit
时,Subversion会打开VIM来编辑提交消息。如果我在没有保存提交消息的情况下关闭VIM(例如::qa!
),它将被丢弃,并且提交操作将被中止。
如果我保存并关闭VIM,则提交操作将开始。
如果提交失败,我有一些SVN提交消息似乎保存在/ tmp /中,文件名如svn- ** .tmp。
在VIM中写入提交消息时,提交消息的文件名似乎为svn-commit.1.tmp。我希望能够为我的下一个SVN提交恢复此消息。典型的用例是:
svn update
)svn commit
醇>
感谢您的帮助。
答案 0 :(得分:2)
您始终可以将-F
选项与svn commit一起使用,该选项使用文件来创建日志消息。
每当我使用svn时,我首先创建一个日志文件:
vim log_file
然后我使用以下提交:
svn commit -F log_file --username blah
这一直对我有用。
答案 1 :(得分:1)
您可以尝试这样的事情:
svn commit -F /tmp/svn-1.tmp
您可以在那里阅读更多内容:http://svnbook.red-bean.com/en/1.0/re06.html
答案 2 :(得分:1)
在vim会话中,只需读取旧日志文件的内容即可。这允许您在必要时调整旧消息,并且不会从根本上改变工作流程。
svn commit
(打开vim会话)
:r /tmp/svn-**.tmp
另一个解决方案是使用-m
标志从命令行执行提交。这通常在相关shell的命令历史记录中进行最后一次(失败)提交。
svn commit -m "Here is my message"
(提交失败,你解决了它)
(向上箭头几次,然后重新运行提交)