List all files changed by a particular user in subversion

Viewed 47446

Is it possible to get a list of all files modified/added/deleted by a particular user?

The goal is to get an idea of what a user did for the day (or date range).

10 Answers

Here's an example, using the svn log command and linux sed command, with your username, 'blankman':

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

If you're looking to obtain this information with continual reports, using a project like StatSVN, which Patrick mentioned, is very useful. If you're using Maven, there is a StatSCM plugin which will generate this information on your project site.

Yes. We use StatSVN for our subversion reports, and one of the reports it does is commits by developer.

TortiseSVN also lets you look at log messages by date for authors.

Here's a small script to show which files were changed by a certain user between revisions.

#!/bin/bash
# @param $1: Start revision
# @param $2: End revision
# @param $3: User
#
# Example: svn_scapegoat.sh 1000:HEAD jdoe

svn_changed()
{
    svn blame --revision $1:$2 -- $4 | grep -E "^ [0-9]* *${3} "
}

svn diff --revision $1:$2 --summarize | \
cut -c9- | \
while read path
do
    if [ -n "$(svn_changed $1 $2 $3 $path)" ]
    then
        echo "$3 changed $path"
    else
        echo "Someone else changed $path"
    fi
done
Related