svn merge command is really great – it can be used to determine which revisions are already merged and which are eligible to merge from particular branch. But has one big drawback – it can output just the revision numbers, but not the corresponding log messages. So, it’s really hard to determine what has been commited actually with these revisions. Of course, you can run svn log command for the revisions in question, but what if there are, lets say, 50 commits?
You could build a list of commit messages by piping mergeinfo into the svn log command using xargs. It looks like this:
svn mergeinfo --show-revs=eligible ^/branches/version | tr "\\n" "," | xargs -i svn log -c {} ^/branches/version
To make the command little bit easier and shorter, you may consider to add an alias in your ~/.bash_aliases file as follow:
alias svnlog='tr "\\n" "," | xargs -i svn log -c {}'
Now, you can shorten the command like that:
svn mergeinfo --show-revs=eligible ^/branches/version | svnlog ^/branches/version