使用多个路径在两个修订版之间获取日志消息

时间:2013-09-02 09:06:00

标签: svn logging revision

我想在一个包的两个修订版之间获取日志消息,但其中一个在路径http://blablabla/development/packagename中,另一个在http://blablabla/tag/packagename中。

我想我必须给svn log提供两个路径和两个修订号,但我不知道该怎么做。如果有可能,我该怎么做呢?

2 个答案:

答案 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