Getting log messages between two revisions with multiple paths

8.1k Views Asked by At

I want to get log messages between two revisions of a package, but one of them is in the path http://blablabla/development/packagename and the other is in http://blablabla/tag/packagename.

I think I have to give two paths and two revision numbers to svn log, but I don't know how to do that. If it is possible, how would I go about doing it?

2

There are 2 best solutions below

0
On

You have to do it individually on each URL.

Try this:

svn log -r BEGIN_REV:END_REV URL1

svn log -r BEGIN_REV:END_REV URL2
0
On

Unfortunately, there is no builtin command for that. You have to do it manually.

As you said messages between two revisions, it seems that the first URL (URL1) is a "sucessor" of the second one (URL2). However the way subversion implements tagging and branching (by copy commits), "sucessors" are not always sucessor in the revision graph. So you will need to find the common ancessor commit number. There's no builtin tool to get that. Luckly, in your case, it is probably a few commits back in the URL2 history.

svn log -vl5 URL2

Look for a copy commit from a branch (and revision) that would also be in the URL1 history (if you can't tell that by heart you will have to manually match against the URL1 log). For example:

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

The common ancesor is 3995 in this case. Call it BEGIN_REV.

Than you simply show the log starting from this revision.

svn log -r BEGIN_REV:HEAD URL1