Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Log of SVN activity for a certain user?

Tags:

svn

Is it possible to query for all activity relating to a specific user across all repositories. Including any check out action? Thanks.

like image 804
Louis W Avatar asked Apr 22 '10 17:04

Louis W


People also ask

How do I find my svn history?

To find information about the history of a file or directory, use the svn log command. svn log will provide you with a record of who made changes to a file or directory, at what revision it changed, the time and date of that revision, and, if it was provided, the log message that accompanied the commit.

Where are svn logs stored?

If you are running SVN over Apache (HTTP or HTTPS), you will want to look at Apache's log. By default going to be in /var/log/httpd . The red book has some good information on it.

What are svn logs?

Description. Shows log messages from the repository. If no arguments are supplied, svn log shows the log messages for all files and directories inside (and including) the current working directory of your working copy. You can refine the results by specifying a path, one or more revisions, or any combination of the two ...


2 Answers

Here is a little hack which uses GNU's sed to execute a regular expression against the log output from the svn command. Change username to the user name you require

svn log | sed -n '/| username |/,/-----$/ p'

To get a list of your folders from a webdav config (I was on an Ubuntu box at the time of writing) try something like this....

grep SVNPath /etc/apache2/mods-available/dav_svn.conf | grep -v \# | sed 's/^\s*SVNPath //'

This simply greps once for the line, twice to remove commented lines and filters the SVNPath keyword and associated white-space characters. Your results are repo folders so if you are going to use the svn command, prepend with file://

like image 78
thomas-peter Avatar answered Oct 19 '22 11:10

thomas-peter


I don't think that svn has built-in support for that feature, but you could write a little script to run

svn log --xml

In the directories of whatever repos you wanted to test, then parse it and pick only the entries done by a given user.

like image 37
Allyn Avatar answered Oct 19 '22 11:10

Allyn