SVN-Notify

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! 🙂

Über uns Stefan

Polyglot Clean Code Developer

Ein Kommentar

  1. Danke für den SEHR hilfreichen Verweis auf cpan, ich war kurz davor den Kram selber zu installieren. Funktioniert gut =)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax