3

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

我想我必须给出两条路径和两个修订号svn log,但我不知道该怎么做。如果有可能,我将如何去做?

4

2 回答 2

6

您必须在每个 URL 上单独执行此操作。

尝试这个:

svn log -r BEGIN_REV:END_REV URL1

svn log -r BEGIN_REV:END_REV URL2
于 2013-09-02T13:39:21.720 回答
2

不幸的是,没有内置命令。您必须手动完成。

正如您所说的两个修订之间的消息,似乎第一个 URL (URL1) 是第二个 (URL2) 的“继承者”。然而,颠覆实现标记和分支的方式(通过复制提交),“继承者”并不总是修订图中的继承者。所以你需要找到共同的祖先提交号。没有内置工具可以做到这一点。幸运的是,在您的情况下,它可能是 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
于 2014-07-25T13:39:36.230 回答