2012-06-06 163 views
2

我通常使用VIM處理與編碼相關的幾乎所有內容。SVN - 通過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

謝謝你你的幫助。

回答

2

對於svn commit,您始終可以使用-F選項,該選項使用文件創建日誌消息。

每當我與SVN提交,我首先創建一個日誌文件:

vim log_file 

然後我用以下承諾:

svn commit -F log_file --username blah 

這一直爲我工作很好。

1

當你的vim會話,剛讀舊的日誌文件的內容。這使您可以根據需要調整舊信息,並且不會從根本上改變工作流程。

svn commit 

(打開VIM會話)

:r /tmp/svn-**.tmp 

另一種解決方法就是做你的提交從與-m標誌的命令行。這通常在相關shell的命令歷史記錄中有最後一次(失敗)提交。

svn commit -m "Here is my message" 

(提交失敗,而你解決它)

(向上箭頭幾次,並重新提交)