我想在包的两个修订版之间获取日志消息,但其中一个在路径http://blablabla/development/packagename
中,另一个在http://blablabla/tag/packagename
.
我想我必须给出两条路径和两个修订号svn log
,但我不知道该怎么做。如果有可能,我将如何去做?
您必须在每个 URL 上单独执行此操作。
尝试这个:
svn log -r BEGIN_REV:END_REV URL1
svn log -r BEGIN_REV:END_REV URL2
不幸的是,没有内置命令。您必须手动完成。
正如您所说的两个修订之间的消息,似乎第一个 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