Aufgrund des Kommentars von Markus zu meinem Beitrag “PHP-Script zum Versenden von Mails nach Subversion-Commits” habe ich heute mal SVN-Notify ausprobiert und ich muss sagen, dass ich mir die Arbeit beim Erstellen meines eigenen Post-Commit-Scripts umsonst gemacht habe (naja, nicht ganz: unsere Benutzer hätten halt gerne deutsche Texte etc.)
Durch folgende Befehle wird SVN-Notify installiert (ein installiertes Perl wird vorausgesetzt):
cpan install SVN::Notify
cpan install SVN::Notify::HTML
cpan install SVN::Notify::HTML::ColorDiff
cpan install Text::Trac
cpan install SVN::Notify::Filter::Trac
Die letzten beiden Pakete sind nur interessant, wenn man Trac-Formatierungen in den Kommentaren verwendet (wie es bei uns der Fall ist). Alternativ kann man SVN-Notify auch manuell bauen und installieren (hier gibt es die Quellen: SVN-Notify):
perl Build.pl
./Build
./Build test
./Build install
Nachdem svnnotify installiert und im Pfad erreichbar ist, kann durch folgende Zeile in der hooks/post-commit im SVN-Repository nach jedem Commit eine nett formatierte HTML-Mail inkl. “diff” verschickt werden:
svnnotify --repos-path "$1" --revision "$2" --to mail@example.com --from svn@example.com --handler HTML::ColorDiff --filter Trac --trac-url http://trac.example.com/Sandbox --with-diff --subject-prefix [Sandbox]
Fertig! 🙂