E-Mail-Benachrichtigungen über SVN-Commits [geschlossen]

10

Haben Sie Empfehlungen für ein relativ schlüsselfertiges SVN-Check-in-Benachrichtigungssystem?

Ich suche nach etwas, mit dem eine Zusammenfassung der geänderten Repository-Dateien und der Inhalt der tatsächlichen Unterschiede per E-Mail an alle Mitglieder eines Entwicklungsteams gesendet werden können, wenn Commits auftreten, möglicherweise mit Links zur vollständigen betroffenen Quelldatei bei ViewVC oder so . Das ist optional.

Ich möchte auf jeden Fall, dass die eigentlichen Diff / Code-Auszüge ordentlich unterteilt sind. Niemand wird sich diese Dinge ansehen (als ob sie es sowieso tun würden :-), wenn es von Anfang an nur ein großer, rücksichtsloser Dump von unverständlichen Codefragmenten ist. Im Prinzip möchte ich nur die Versionsnummer, die Zusammenfassung, den Benutzer, der das Commit durchgeführt hat, und eine Liste der betroffenen Repository-Dateien anzeigen.

Ich habe ein wenig Zeit damit verbracht, die Machbarkeit des Schreibens meiner eigenen zu prüfen, und obwohl ich sehe, dass SVN "Haken" hat, um verschiedene Ereignisse genau auf diese Weise zu erfassen, scheint es eine ziemlich komplizierte Aufgabe zu sein, etwas Poliertes zu bekommen, das gut funktioniert. Da ich mir ziemlich sicher bin, dass es Open-Source-Pakete zu diesem Zweck gibt, habe ich mich gefragt, ob einer von Ihnen mir die Mühe ersparen könnte, herauszufinden, welche gut und welche schlecht sind. Ich bin auf der Suche nach etwas, das ziemlich einfach einzurichten ist und nicht viel Zeit benötigt. Ich würde gerne die Zeit damit verbringen, die Vor- und Nachteile eines wirklich umfassenden Systems zu lernen, aber ich muss auch die Entwicklung durchführen.

Vielen Dank im Voraus!

EDIT: Ich weiß, dass Sourceforge dies ziemlich gut macht. Ich bin auf mehreren Entwicklungslisten, auf denen ich ständig diese Nachrichten erhalte. Aber ich kann Sourceforge nicht wirklich für die Art von Projekten verwenden, an denen ich arbeite.

Alex Balashov
quelle
Ein Hinweis für alle, die einen solchen Hook einrichten möchten: Dies könnte eine Verletzung der Datenschutzgesetze (BDSG in Deutschland) sein. Seien Sie vorsichtig, um dies zu verwenden!

Antworten:

8

Ihre Erwähnung von Haken ist eigentlich nicht weit von der Antwort entfernt. Sie können den Post-Commit-Hook verwenden , um commit_email.pl ( Inhalt von ) auszuführen , das mit Subversion gebündelt ist und Ihnen so ziemlich das gibt, wonach Sie suchen. Es muss angepasst werden, um auf Ihren Mailserver zu verweisen, aber das ist nur eine Variable am oberen Rand des Skripts. Sie müssen auch Perl installiert haben, um das Skript auszuführen.

Der Post-Commit-Hook unterscheidet sich im Dateinamen je nach Betriebssystem. Sie finden es im Unterordner / hooks / . Für Linux ist es einfach post-commit, während es unter Windows post-commit.bat ist . Sie müssen diese Datei lediglich ändern, um commit_email.pl auszuführen . Unten finden Sie ein Beispiel für post-commit.bat:

@echo on
rem POST-COMMIT HOOK

set REPOS=%1
set REV=%2

C:\Perl64\bin\perl S:\SVNRepos\hooks\commit-email.pl %REPOS% %REV% -l C:\Temp\svnlook\commit-email.log

Außerdem habe ich unser E-Mail-Skript weiter geändert, um anstelle des Subversion-Benutzernamens die E-Mail-Adresse anzuzeigen, von der das Commit stammt. Dadurch wird die gesendete E-Mail etwas nützlicher (Sie können tatsächlich darauf antworten).

Pauk
quelle
Zum späteren Nachschlagen: Auf anderen Systemen, die den Dateityp nicht anhand der Erweiterung bestimmen (naja, definitiv zumindest Linux), wird der Hook nur benannt post-commit. Entfernen Sie einfach die .batErweiterung aus der Windows-Version des Namens.
David Z
David, danke für deine Kommentare. Ich habe die Antwort entsprechend angepasst.
Pauk
2

Ich verwende SVN-Notify , ein Perl-Skript, das unter Windows ausgeführt werden sollte, obwohl ich es nicht ausprobiert habe. Es verwendet HTML :: ColorDiff, um nach dem Festschreiben schöne farbige Unterschiede bereitzustellen.

Dies wurde mir von einem Entwicklerkollegen empfohlen und ist großartig.

Cawflands
quelle
2

SVN-Monitor ist wahrscheinlich das, was Sie wollen.

Parsa
quelle
Ich verwende Linux, daher reicht eine eigenständige Windows-App nicht aus. Ich schätze den Vorschlag jedoch.
Alex Balashov