Frage

Ich mag bis setzen begehen E-Mails auf einem Projekt, das ich Arbeit bin auf, wie hier beschrieben:
   http://producingoss.com/en/vc.html#commit-emails

Das ist, verwenden Sie einen Post commit eine E-Mail an eine Liste schicken den Commit enthält Titel / log und diff der Änderungen.

Was ist der einfachste Weg, auf einem Linux-Rechner dies einzurichten?

War es hilfreich?

Lösung

Als Repository neue Haken eine Probe post-commit Erstellungs in hooks/post-commit.tmpl vorgesehen. Es enthält eine Zeile, die mehr oder weniger wie folgt aussieht:

/usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" commit-watchers@example.org

Ersetzen Sie einfach die E-Mail mit der Adresse, die Sie Benachrichtigungen an senden möchten, benennen Sie das Skript hooks/post-commit (entfernen Sie die tmpl Erweiterung) und es ausführbar (chmod a+x) machen.

Wenn Sie das Skript ausführen commit-email.pl ohne Argumente Sie einen Nutzungs Bildschirm mit zusätzlichen Optionen werden sehen, dass zum Beispiel erlauben, die Betreffzeile oder die Absender-Adresse zu ändern.

Bitte beachten Sie, dass Fall von Debian ist das commit-email.pl Skript in einem optionalen subversion-tools Paket befindet.

Andere Tipps

Obwohl diese Frage ist ein bisschen alt, nur dachte ich, meiner Meinung nach für diejenigen verlassen würde hier von Google kommen:

Ich habe die Lösungen hier erwähnt betrachtet. Die commit-email.pl war einfacher und besser für mich arbeiten. Allerdings habe ich beide Lösungen fehlt die richtige Formatierung finden.

So scheint das svnnotify Paket für mich gut genug formatiert und farbige E-Mails zu erzeugen.

Unter Debian / Ubuntu-Systemen können Sie es installieren, indem Sie Folgendes eingeben:

apt-get install libsvn-notify-perl

Dann, wenn Sie gonna E-Mails an Google Mail-Konten senden, aufgrund ungerade CSS-Unterstützung in Google Mail, würde ich empfehlen, den Patch angewendet hier , was bedeutet:

  • Download HTML.pm und ColorDiff.pm
  • mit ihnen austauschen /usr/share/perl5/SVN/Notify/HTML.pm und /usr/share/perl5/SVN/Notify/HTML/ColorDiff.pm sind.

Und schließlich Setup, um den post-commit Hook-Skript auf die übliche Weise:

# email notifications for commits
/usr/bin/svnnotify --repos-path "$REPOS" --revision "$REV" \
    --to your.email@address.com \
    --from from.email@address.com \
    --with-diff \
    --subject-cx \
    --subject-prefix 'Your Project Name: ' \
    --handler HTML::ColorDiff \
    --css-inline
    2>&1 &

exit 0

Wir verwenden svnmailer für diese. Wir Symlink unser Repository spezifischen post-commit Hook-Scripts zu einem einzigen Skript, das wiederum svnmailer nennt. Die Konfiguration ist ziemlich geradlinig und mit ihrer simple.conf Beispielkonfiguration Sie können in wenigen Minuten einsatzbereit sein. Beachten Sie, dass es ist in Python geschrieben, so dass eine Voraussetzung für die Installation ist.

Unser gesamtes post-commit Hook-Skript ist nur ein paar Zeilen (beachten Sie, dass Sie in Ihren post-commit Haken andere Sachen tun könnten, aber wir derzeit nicht):

#!/bin/sh

CONFIG="/usr/local/svnmailer/default.conf"
MAILER="/usr/bin/svn-mailer"

# These are passed in by subversion
REPOS="$1"
REV="$2"

"${MAILER}" --commit \
            --config "${CONFIG}" \
            --repository "${REPOS}" \
            --revision "${REV}" \
            --background

Überprüfen Sie die SVN-mod-E-Mail Paket beschrieben hier . Die SVN-mod-E-Mail ist ein leistungsfähiges Werkzeug für die SVN E-Mail-Benachrichtigungen Management, die als Debian-Archiv geliefert wird. Es ist leicht zu installieren, konfigurieren und verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top