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.
Antworten:
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:
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).
quelle
post-commit
. Entfernen Sie einfach die.bat
Erweiterung aus der Windows-Version des Namens.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.
quelle
svnmailer ist eine weitere Option.
quelle
SVN-Monitor ist wahrscheinlich das, was Sie wollen.
quelle
Auf der Subversion-Site finden Sie einige weitere Optionen : CommitMonitor, SVN-Notifier, SvnReporter (schamloser Plug).
quelle