Instead of using supplied with SVN commit-email.pl with hundred lines of Perl without an effort to format the check-in comment, I used SVN-Notify package. I added package to SVN server Linux machine that sends out an email notification when anyone checks in something to Subversion. The Subversion notification email contains the following information:
Developer that made the change What files were changed Check in comments Diff of all of the changes that were made
The Perl SVN-Notify package has been installed in the /data/scripts/svnnotify directory and an SVN post-commit hook has been added to the /data/svn/company/hooks directory. The post-commit hook is a shell file that calls the SVN-Notify package with the information from the Subversion checking. This file controls what notification gets sent to whom. The post-commit file has the line :
--to-regex-map DevAlias@foo.bar.com=project \
This line controls who gets notified of what. The DevAlias@foo.bar.com can be any email or email list and can be multiple email addresses separated by a comma. After the = sign, is the SVN repository pattern that is matched to determine if an email is sent for this checkin. In the example above, only checkins on the "project" directory will generate an email to DevAlias@foo.bar.com. This line can be repeated for each pattern that needs to be matched. So, an email notification can be sent to just the email list for that application by having a line for each application.
Next step would be implementation of Subversion and Atlassian's Jira bug tracking tool integration. Developers would have ability to reference Jira issues when they make SVN commits.
Best SVN books
- Version Control With Subversion for Subversion 1.6 The Official Guide And Reference Manual
- TortoiseSVN 1.7 Beginner's Guide