2013-05-28 37 views
58

注:這可能是一個沒有腦子有經驗的SVN用戶,但它難倒我很長一段時間......所以這裏的希望這將幫助我這樣的人!「SVN日誌」不顯示所有最新提交

從命令行發出svn log後,我注意到有幾個最近的提交消息丟失。我知道這些消息已正確保存在我的存儲庫中,因爲它們出現在我的SVN客戶端(RapidSVN)中。我只是不明白爲什麼他們不會使用svn的命令行版本可見。

回答以下...

回答

87

的問題與我的什麼svn log顯示了缺乏瞭解的事情。隨着提供任何其他參數,它輸出日誌從工作日誌的複製,而不是從實際存儲庫的消息。因此,發行svn update將帶來的工作拷貝最新與存儲庫中,然後將svn log反映了最近所有的提交。咄! ;-)

+5

這困擾了我這麼久。你的解決方案爲我工作!謝謝:-) – twigmac

+4

成功提交後,不應該'svn commit'運行'svn update'嗎? –

+4

某些客戶端程序實際上可能會這樣做,但實際的「svn commit」命令不會(按照我的理解)。這是根據「紅小豆」的用戶手冊(http://svnbook.red-bean.com/en/1.7/svn.basic.in-action.html):「一的顛覆的基本規則是,一個「推」行爲並不會導致「拉」,反之亦然,因爲您已準備好向存儲庫提交新更改並不意味着您已準備好接收其他人的更改。「本段的其餘部分更詳細地解釋了爲什麼「svn commit」和「svn update」是分開的。 – robguinness

7

如果你想看到完整的日誌,不更新(因爲我在一箇舊版本的工作時,有時會做),你可以運行:

svn log -r HEAD:0 

或者,以方便查看:

svn log -r HEAD:0 | less