CVSspam: Very Cool CVS Notification Tool
One feature I rely on for shared development is for the source control system to email a notification of any changes. CVS supports this notification and it is easy to implement: just add an email command line to the repository's CVSROOT/loginfo file (or separate ones for each project, if desired). The problem I have with these commit messages is that while they describe what projects and files have changed, you either get a verbose diff message or have to use a separate tool to see what changed. Consequently, after enough of these messages fill up my inbox I tend to just scan them quickly without reviewing the changes.
We recently upgraded an internal CVS repository to use CVSspam to format CVS commit notification messages, and what a difference it makes! CVSspam generates HTML-formatted commit messages that use colors, fonts, and a nice design to allow me to do a much more thorough review of the message in the same time that I did for just a quick-scan of the old format. Here's a simple example (snapshot from my email client):
It's obvious what file changed and where. What this example doesn't demonstrate is how easy it is to review a large set of changes, since each changed file is listed at the top and linked to its section. The column listing for how many lines were changed in each file is also a helpful scanning aid; I often just focus on the file with the most changes, as it is usually the one that can benefit the most from a code-review. Here is a big example report from the CVSspam site -- notice how the report found TODO and FIXME comments in the source files and made links to them.
The bottom line is that with CVSspam, informal code-reviewing just got easier.