有人能解释这个SVN日志输出吗?

有人能解释这个SVN日志输出吗?,svn,Svn,我不明白SVN如何显示日志输出。假设我有一个第10版的项目。然后,我修改了项目中的一个子文件,现在是修订版11。svn log命令现在显示以下内容: svn log -vv r10 ... ------ r9 ... ------ r8 ... 但是,仅当我指定文件名时,才会显示最新的更改(r11): svn log -vv ChangedFilename

我不明白SVN如何显示日志输出。假设我有一个第10版的项目。然后,我修改了项目中的一个子文件,现在是修订版11。svn log命令现在显示以下内容:

svn log -vv 
            r10 ...
            ------
            r9 ...
            ------
            r8 ...
但是,仅当我指定文件名时,才会显示最新的更改(r11):

svn log -vv ChangedFilename
            r11 ...

r11不应该也出现在第一个命令中吗?

我看到的行为与您相同,如果我修改一个文件,提交它,然后重新运行日志。一旦文件夹上发生“svn更新”,此行为似乎就会消失

可能日志在提交时没有更新,只是在更新时才更新

您还可以通过指定URL从存储库本身获取日志

svn log URL[@REV] [PATH...]

手册中有说明:

为什么svn日志不显示我刚刚承诺的内容?

如果你做出承诺并立即 键入不带参数的svn log,您可以 可能会注意到您最近的 提交未显示在列表中 记录消息。这是由于 svn行为的组合 提交和svn的默认行为 日志首先,当您将更改提交到 在存储库中,svn只对 文件(和目录)的修订 它提交,通常是父级 目录保留在较旧的位置 修订(请参阅名为 对于“更新和提交是分开的” 解释原因)。svn日志 默认为获取的历史记录 当前版本的目录, 因此,你不会看到新的 提交的更改。这里的解决方案 是更新您的工作副本 或明确提供修订 使用svn日志的编号 --修订(-r)选项


仅供参考,我使用svn 1.6进行了测试,svn更新+svn日志实际上可以按照文档中的说明工作。为了避免必须进行更新,请尝试“svnlog-rprov:HEAD”,这样应该可以拉下最新的日志

啊,这是有道理的,假设svn日志读取您的本地记录,并且svn日志读取的全局值(没有文件名)在您使用svn update与服务器对话之前不会得到更新。