Notifications par e-mail des validations SVN [fermé]

10

Avez-vous des recommandations pour un système de notification d'enregistrement SVN relativement clé en main?

Je recherche quelque chose qui permette un résumé des fichiers du référentiel modifiés et le contenu des différences réelles à envoyer à tous les membres d'une équipe de développement par e-mail lorsque des validations se produisent, peut-être avec des liens vers le fichier source complet affecté à ViewVC ou quelque chose . C'est facultatif.

Je veux vraiment que les extraits diff / code réels soient soigneusement compartimentés. Personne ne va regarder ces choses (comme si elles le feraient de toute façon :-) si c'est juste une grosse décharge imprudente de fragments de code incompréhensibles dès le début. En principe, je veux juste voir le numéro de révision, le résumé, l'utilisateur qui a effectué la validation et une liste des fichiers de référentiel affectés.

J'ai passé un peu de temps à étudier la faisabilité d'écrire le mien, et bien que je vois que SVN a des "crochets" pour attraper divers événements précisément de cette manière, obtenir quelque chose de poli qui fonctionne bien semble être une tâche plutôt compliquée. Étant assez certain qu'il existe des packages open source à cet effet, je me demandais si l'un de vous pourrait m'aider à éviter de trouver ceux qui sont bons et ceux qui sont mauvais. Je recherche quelque chose d'assez facile à mettre en place et ne nécessitant pas beaucoup de temps; J'adorerais passer du temps à apprendre les tenants et aboutissants d'un système vraiment complet, mais je dois aussi faire le développement.

Merci beaucoup à l'avance!

EDIT: Je sais que Sourceforge le fait assez bien. Je suis sur plusieurs listes -dev où je reçois constamment ces messages. Mais je ne peux pas vraiment utiliser Sourceforge pour les types de projets sur lesquels je travaille.

Alex Balashov
la source
Un conseil pour tous ceux qui souhaitent installer un crochet comme celui-ci: cela pourrait être une violation des lois sur la confidentialité des informations (BDSG en Allemagne). Attention à l'utiliser!

Réponses:

8

Votre mention des crochets n'est pas loin de la réponse. Vous pouvez utiliser le hook post commit pour exécuter commit_email.pl ( contenu de ) , qui est fourni avec Subversion, qui vous donnera à peu près ce que vous recherchez. Il faudra l' ajuster pour pointer vers votre serveur de messagerie, mais ce n'est qu'une variable près du haut du script. Vous aurez également besoin de Perl installé pour exécuter le script.

Le hook post commit diffère dans le nom de fichier en fonction du système d'exploitation sur lequel vous travaillez. Vous le trouverez dans le sous-dossier / hooks / . Pour Linux, il suffit de post-commit tandis que sur Windows, son post-commit.bat . Il vous suffit de modifier ce fichier pour exécuter commit_email.pl . Voici un exemple 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

En outre, j'ai apporté des modifications supplémentaires à notre script de messagerie pour afficher l'adresse e-mail de l'origine du commit, au lieu du nom d'utilisateur Subversion. Cela rend l'e-mail envoyé un peu plus utile (vous pouvez réellement y répondre).

Pauk
la source
Pour référence future: sur d'autres systèmes qui ne déterminent pas le type de fichier par extension (enfin, certainement au moins Linux), le hook est simplement nommé post-commit. Supprimez simplement l' .batextension de la version Windows du nom.
David Z
David, merci pour vos commentaires. J'ai ajusté la réponse en conséquence.
Pauk
2

J'utilise SVN-Notify , qui est un script perl et devrait fonctionner sur Windows, bien que je ne l'ai pas essayé. Il utilise HTML :: ColorDiff pour fournir de belles différences colorées après la validation.

Cela m'a été recommandé par un collègue de développement, et c'est génial.

Cawflands
la source
2

Le moniteur SVN est probablement ce que vous voulez.

Parsa
la source
J'exécute Linux, donc une application Windows autonome ne fera pas l'affaire. J'apprécie cependant cette suggestion.
Alex Balashov,
2

Vous pouvez trouver quelques autres options sur le site Subversion : CommitMonitor, notificateur SVN, SvnReporter (plug sans vergogne).

Rémy Blank
la source