任何人都可以解释这个SVN日志输出吗?

时间:2010-01-07 15:14:55

标签: svn

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

svn log -vv 
            r10 ...
            ------
            r9 ...
            ------
            r8 ...

但是,只有在我指定文件名时才会显示最新的更改(r11):

svn log -vv ChangedFilename
            r11 ...

第一个命令中是否也不应出现r11?

3 个答案:

答案 0 :(得分:23)

说明见手册:
http://svnbook.red-bean.com/en/1.5/svn.tour.history.html#svn.tour.history.log

  

为什么svn log没有告诉我我刚刚提交的内容?

     

如果您立即提交   输入没有参数的svn日志,你   可能会注意到你最近的   提交不会显示在列表中   记录消息。这是由于   svn行为的组合   提交和svn的默认行为   登录。首先,当您提交更改时   存储库,svn只会碰撞   文件(和目录)的修订   它提交,所以通常是父母   目录保持较旧   修订版(见章节   “更新和提交是分开的”   对原因的解释)。 svn log然后   默认为获取历史记录   当前版本的目录,   因此你没有看到新的   承诺的变化。解决方案在这里   是要么更新你的工作副本   或明确提供修订   使用。编号到svn日志   --revision(-r)选项。

答案 1 :(得分:3)

仅供参考,我使用svn 1.6进行了测试,并且svn update + svn log确实可以像文档中所述那样工作。为了避免必须进行更新,请尝试“svn log -r PREV:HEAD”,这应该下载最新的日志。

答案 2 :(得分:2)

我看到与您相同的行为,如果我修改文件,提交它,然后重新运行日志。一旦文件夹上发生'svn update',这种行为就会消失。

提交时,只有在更新时,日志才会更新?

Here is the documentation on svn log (for release 1.5)

您还可以通过指定URL

从存储库本身获取日志
svn log URL[@REV] [PATH...]