It's very easy to use. I'll include both a UNIX and Windows script here so no matter what platform you are on, you can easily use this. Each script is only about 20 lines long.
First, download the statsvn.jar from the StatSVN download page.
Now, put the run-svnstats script (which I give below) in the same directory as the statsvn.jar file. If on UNIX, use the first script; Windows use the second script:
svn log -v --xml -r $START_END_REVISIONS > $SVN_LOGFILE
if [ -d svnstats ]; then
rm -rf svnstats
mkdir -p svnstats
java -jar $STATSSVN_JAR -concurrency-threshold 2000 -threads 50 $SVN_LOGFILE $WORKING_COPY
echo SVN Statistics are now located here: `pwd`
svn log -v --xml -r %START_END_REVISIONS% > %SVN_LOGFILE%
if exist svnstats rmdir /S /Q svnstats
java -jar %STATSSVN_JAR% -concurrency-threshold 2000 -threads 50 %SVN_LOGFILE% %WORKING_COPY%
echo SVN Statistics are now located here: %STATS_GEN_DIR%\svnstats
Lastly, you just have to edit the script to match your environment. Change the three variables defined at the top:
- WORKING_COPY: the full path to the SVN working copy as found on your local file system. This SVN working copy will be svn updated as part of the script, so make sure you don't mind having this working copy get updated to the latest revision.
- STATS_GEN_DIR: the full path of the location where you stored the statsvn.jar and the scripts. The generated SVN log and the final HTML pages, reports and images will get stored here as well.
- START_END_REVISIONS: the starting revision number and ending revision number of your SVN working copy. Only SVN statistics for that revision range will be reported on. This should be in SVN format (e.g. 1234:5678 or 1:HEAD)
That's it. Run the script and out comes an "svnstats" directory with a full set of HTML pages and images (this svnstats directory will be located under the STATS_GEN_DIR directory). Just copy the svnstats directory to a webserver (e.g. Apache's htdocs directory) and point your browser to the svnstats location and you can now peruse your SVN reports.
You can even run this script as a cron job to automatically update your stats periodically. Just have STATS_GEN_DIR point to a directory that your webserver can serve up and make sure your START_END_REVISION takes into account HEAD (so new checkins will get reported).
I thought this was a very simple yet cool way to get SVN stats for any SVN project; hope you can find this as helpful as it did me.