Subversion Commit Notification

Description

This is a port of cvslog to Subversion, with some improvements and modifications incorporating what I learned from writing the original. It generates commit notifications via e-mail for commits to a Subversion repository, optionally including diffstat output and/or full patches. As a special feature for Debian developers, it can also tag bugs as pending in Debian's bug system based on Closes entries in the commit message.

Unlike with CVS, there are other good commit notification scripts out there with almost as many features, including some that come with Subversion. In particular, the mailer script that comes with Subversion is much better at handling a repository that's used by multiple projects and sending commit notifications to different places depending on what was changed.

I wrote this script rather than reusing one of those because I disliked the mail formatting of the other available scripts and they didn't have diffstat support, and it was easier for me to modify cvslog (by deleting most of it) than it was to add those features to the existing Subversion scripts. I'm probably going to regret this at some point, but oh well.

Here is a sample of svnlog's output with most of the options turned on.

Requirements

The Subversion client programs are required, specifically svnlook. Perl 5.8.0 or later is required, as is sendmail or any reasonable work-alike.

In order to get summaries of the changes as seen in the above sample, you will need to separately obtain and install diffstat (which is written in C, but is very easy to compile).

Download

The program:

svnlog 1.15 2009-02-28 Download

Documentation:

A Debian package is available from my personal repository.

License

Copyright 2005, 2006, 2007, 2009 Board of Trustees, Leland Stanford Jr. University.

Based on cvslog, copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Board of Trustees, Leland Stanford Jr. University.

These programs are free software; you may redistribute them and/or modify them under the same terms as Perl itself. This means that you may choose between the two licenses that Perl is released under: the GNU GPL and the Artistic License. Please see your Perl distribution for the details and copies of the licenses.

Last modified and spun 2014-08-10