我想在一个包的两个修订版之间获取日志消息,但其中一个在路径http://blablabla/development/packagename
中,另一个在http://blablabla/tag/packagename
中。
我想我必须给svn log
提供两个路径和两个修订号,但我不知道该怎么做。如果有可能,我该怎么做呢?
答案 0 :(得分:4)
您必须在每个网址上单独执行此操作。
试试这个:
svn log -r BEGIN_REV:END_REV URL1
svn log -r BEGIN_REV:END_REV URL2
答案 1 :(得分:1)
不幸的是,没有内置命令。你必须手动完成。
正如您所说的两个修订版之间的消息,似乎第一个URL(URL1)是第二个URL(URL2)的“继承者”。 然而,subversion实现标记和分支的方式(通过复制提交),“超级用户”并不总是在修订图中是成功的。因此,您需要找到共同的进程提交号。没有内置工具可以做到这一点。幸运的是,在你的情况下,它可能是URL2历史中的一些提交。
svn log -vl5 URL2
从分支(和修订版)中查找也会出现在URL1历史记录中的副本提交(如果您无法明确说明,则必须手动匹配URL1日志)。例如:
------------------------------------------------------------------------
r4155 | author | 2014-07-25 09:45:09 -0300 (Sex, 25 Jul 2014) | 1 line
Changed paths:
A /tags/packagename (from /development/packagename:3995)
Message
------------------------------------------------------------------------
在这种情况下,共同的祖先是3995。称之为BEGIN_REV。
您只需显示从此修订版开始的日志。
svn log -r BEGIN_REV:HEAD URL1