PHP-Script zum Versenden von Mails nach Subversion-Commits

Ich habe mir heute ein kleines PHP-Script geschrieben, dass nach Commits auf ein Subversion-Repository automatisch Mails an bestimmte Benutzer versendet, falls Pfade im Repository geändert wurden, die für diese Benutzer von Interesse sind. Es kann hier heruntergeladen werden: postCommitMails.php.

Das Script prüft, ob die eingetragenen Pfade geändert wurden und verschickt entsprechend Mails an die zugeordneten Benutzer (natürlich nur eine Mail per Benutzer, falls Benutzer für mehrere Pfade eingetragen sind).

Aktiviert wird das Script im post-commit-Hook von Subversion. Dazu muss lediglich eine Datei namens post-commit im hooks/-Ordner des gewünschten Repositorys erstellt werden (dort sollte bereits eine entsprechende Dateivorlage zu finden sein), die die folgende Zeile enthält: postCommitMail.php $REPOS $REV

Die Mails sehen so aus:

Es wurden Änderungen am Repository http://svn.intranet/Dokumente vorgenommen (Revision HEAD).

Benutzer macke hat am 12.02.2008 um 12:25 Uhr folgende Dateien geändert:

     D /KleinerTest.txt

Der folgende Kommentar wurde vergeben:

  Test der automatischen Mail-Benachrichtigung

Über uns Stefan

Polyglot Clean Code Developer

5 Kommentare

  1. Ich verwende dazu immer svnnotify (ist bei Debian dabei). Kann HTML oder Text diffs attachen, subject prfix, custom footer usw.

  2. Danke für den Tip. Ich lerne ja noch stets dazu 😉 Werde das gleich am Montag mal testen.

  3. Wo findet man svnnotify normalerweise auf einem Debian?

  4. apt-get install libsvn-notify-perl 😉

  5. Pingback:SVN-Notify » Stefan Macke

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