我在一家公司从事合同工作,他们通过ssh'ing到Linux桌面使用svn命令行和文本差异。对于显示3个日志项的命令:
svn log -l 3
我想知道为什么它没有显示我刚刚承诺的历史?该文件位于其中一个子目录中。
例如,如果我做了
svn log -l 3 foo/bar/abc.html
然后日志历史记录将显示我刚刚在一分钟前完成的提交。但是我发布的第一个命令行,它只显示10天前的日志并由其他人提交。有没有办法使它像Tortoise或Versions一样工作,以便它显示当前目录的日志历史记录,或者显示整个项目的日志历史记录?
答案 0 :(得分:1)
这是因为您的提交已创建混合修订工作副本。
请参阅“为什么svn log没有告诉我我刚刚承诺的内容?”这里的svnbook部分: http://svnbook.red-bean.com/en/1.7/svn.tour.history.html#svn.tour.history.log
它将引用“更新和提交是分开的”部分,其中详细介绍了混合修订。
您可以在运行log命令之前使用svn update
更新工作副本,也可以使用svn log -l 3 -r HEAD:1
绕过默认修订范围BASE:1(并且无需查看当前日志先更新你的工作副本。)