我不明白SVN如何显示日志输出。假设我在修订版10中有一个项目。然后我改变项目中的子文件,现在是修订版11. svn log命令现在显示以下内容:
svn log -vv
r10 ...
------
r9 ...
------
r8 ...
但是,只有在我指定文件名时才会显示最新的更改(r11):
svn log -vv ChangedFilename
r11 ...
第一个命令中是否也不应出现r11?
答案 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...]