注意:对于经验丰富的SVN用户来说,这可能是一件容易的事,但是它让我困扰了很长时间……所以希望这对像我这样的人有所帮助!
svn log
从命令行发出后,我注意到丢失了一些最近的提交消息。我知道这些消息已正确保存在我的存储库中,因为它们显示在我的SVN客户端(RapidSVN)中。我只是想不通为什么使用svn的命令行版本看不到它们。
在下面回答...
Answers:
问题与我对svn log
所显示内容的理解不充分有关。在不提供其他任何参数的情况下,它从日志的工作副本而不是实际的存储库输出日志消息。因此,发布svn update
将使工作副本与存储库保持最新,然后svn log
将反映所有最近的提交。h!;-)
show log
仅显示您的工作副本所基于的分支的修订,但不显示主干和其余分支的修订。我可以在TortoiseSVN客户端上为此担保:)
svn log
需要我的密码。因此,我假设它需要命中服务器才能获取最新日志。如果没有提示输入密码,我会更容易地以为它使用的是我的工作副本日志。
如果您希望看到完整的日志而不进行更新(就像我在处理旧版本时所做的那样),则可以运行:
svn log -r HEAD:0
或者,为便于查看:
svn log -r HEAD:0 | less
今天我遇到了同样的问题,以为我丢失了更改而感到震惊。
这仅仅是因为颠覆的怪异。工作副本的概念设置为最初签出的修订版。工作副本修订不会被新的提交更改。svn update
需要将工作副本修订版本更新/同步到存储库。不确定我想在每种情况下都这样做。
PS:git
好多了。
svn commit
运行svn update
良好吗?