77

注意:对于有经验的 SVN 用户来说,这可能是一件轻而易举的事,但它困扰了我很长一段时间......所以希望这对像我这样的人有所帮助!

svn log从命令行发出后,我注意到缺少几条最近的提交消息。我知道这些消息已正确保存在我的存储库中,因为它们显示在我的 SVN 客户端 (RapidSVN) 中。我只是不明白为什么使用命令行版本的 svn 看不到它们。

下面回答...

4

4 回答 4

116

问题与我对svn log所显示内容的理解不足有关。在没有提供其他参数的情况下,它从日志的工作副本输出日志消息,而不是从实际的存储库中。因此,发布svn update将使工作副本与存储库保持同步,然后svn log将反映所有最近的提交。呸!;-)

于 2013-05-28T08:14:03.187 回答
20

如果您想在不更新的情况下查看完整日志(就像我有时在处理旧版本时所做的那样),您可以运行:

svn log -r HEAD:0

或者,为了便于查看:

svn log -r HEAD:0 | less
于 2017-05-26T14:31:02.327 回答
3

我今天遇到了同样的问题,并害怕我失去了我的改变。

它的发生只是因为颠覆的怪异。有一个工作副本的概念设置为最初签出的修订版。新提交不会更改工作副本修订版。svn update需要将工作副本修订更新/同步到存储库。不确定我是否愿意在每种情况下都这样做。

PS:git好多了。

于 2019-04-05T09:23:27.363 回答
1

您还可以通过指定存储库的 URL 来明确告诉 svn log 转到服务器。

例如

svn log svn://your-server/trunk

或者更笼统和简洁地说:

svn log ^/
于 2019-04-01T22:11:15.813 回答