2013-05-28 38 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