[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: How to svn log across all branches?

From: Reedick, Andrew <Andrew.Reedick_at_BellSouth.com>
Date: 2006-09-07 19:05:26 CEST

> -----Original Message-----
> From: Luke Adamson [mailto:luke_adamson@mac.com]
> Sent: Wednesday, September 06, 2006 2:03 AM
> To: users@subversion.tigris.org
> Subject: How to svn log across all branches?
> I'd like to see the commit logs for a given file, across _all_
> branches of development throughout the life of the repository. This
> doesn't appear to be easy (or obvious), and a quick glance through
> the source code suggests this may not be possible without lots of
> krufty hacking.
> When evaluating "svn log", Subversion appears to be entirely path-
> oriented (including the trunk or branch-prefix), such that all
> changes logged are only for those on the "current" branch of
> the file
> you're logging. Even if you try logging from revision 0 to head, it
> still shows only those changes which were committed on the "current"
> branch/path of the file (apologies if my terminology is confusing).

'svn log' can blow up on pathnames if you go from 0 to HEAD due to path
name changes. If you do a svn log on a file in the HEAD (svn log
svn://server/repos/../foo.java), it will trace the file's ancestry all
the way back to the beginning. You can easily pick out the relevant
commit message that way.

However because of Evil Twins, there may be mutiple instances of
'foo.java'. Example:
        svn add branch/foo.java
        svn add trunk/foo.java
        Make a few separate commits to each one, and then do an 'svn
log' on each one. They will have different histories.

In your case, you will need to find all instances of foo.java (svn ls -R
... | grep foo.java) and run svn log on each one. However, this will
not find any instances that were deleted previously from the head, but
such a solution should be scriptable (svn log the whole repos, svn log
every istance of foo.java, do some filtering to valid duplicate logs,


The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential, proprietary, and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from all computers. GA624

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Sep 7 19:07:32 2006

This is an archived mail posted to the Subversion Users mailing list.