Notificaciones por correo electrónico de confirmaciones de SVN [cerrado]

10

¿Tiene alguna recomendación para un sistema de notificación de registro SVN relativamente llave en mano?

Estoy buscando algo que permita que se cambie un resumen de los archivos del repositorio y que el contenido de los diferenciales reales se envíe a todos los miembros de un equipo de desarrollo por correo electrónico cuando se produzcan confirmaciones, tal vez con enlaces al archivo fuente completo afectado en ViewVC o algo así. . Eso es opcional

Definitivamente quiero que los extractos de código / diferencia real estén bien compartimentados. Nadie va a mirar estas cosas (como si lo hicieran de todos modos :-) si es solo un gran e imprudente volcado de fragmentos de código incomprensibles desde el principio. En principio, solo quiero ver el número de revisión, el resumen, el usuario que realizó la confirmación y una lista de los archivos de repositorio afectados.

Pasé un poco de tiempo mirando la viabilidad de escribir el mío, y aunque veo que SVN tiene "ganchos" para atrapar varios eventos precisamente de esta manera, hacer que algo pulido que funciona bien parece ser una tarea bastante complicada. Al estar bastante seguro de que existen paquetes de código abierto para este efecto, me preguntaba si alguno de ustedes podría ayudarme a evitar la molestia de descubrir cuáles son buenos y cuáles son malos. Estoy buscando algo bastante fácil de configurar y que no requiera mucho tiempo; Me encantaría pasar el tiempo aprendiendo los entresijos de un sistema realmente completo, pero también tengo que hacer el desarrollo.

Muchas gracias a todos de antemano!

EDITAR: Sé que Sourceforge hace esto bastante bien. Estoy en varias listas de dispositivos donde constantemente recibo estos mensajes. Pero realmente no puedo usar Sourceforge para el tipo de proyectos en los que estoy trabajando.

Alex Balashov
fuente
Una pista para todos los que quieran configurar un gancho como este: Esto podría ser una lesión de las leyes de privacidad de la información (BDSG en Alemania). ¡Ten cuidado de usar esto!

Respuestas:

8

Su mención de ganchos en realidad no está lejos de la respuesta. Puede usar el enlace post commit para ejecutar commit_email.pl ( contenido de ) , que se incluye con Subversion, que le dará más o menos lo que busca. Necesitará ajustes para apuntar a su servidor de correo, pero esa es solo una variable cerca de la parte superior del script. También necesitará que Perl esté instalado para ejecutar el script.

El enlace post commit difiere en el nombre del archivo dependiendo del sistema operativo en el que se esté ejecutando. Lo encontrará en la subcarpeta / hooks / . Para Linux es simplemente post-commit, mientras que en Windows es post-commit.bat . Todo lo que necesita hacer es modificar ese archivo para ejecutar commit_email.pl . A continuación se muestra un ejemplo 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

Además, realicé más cambios en nuestro script de correo electrónico para mostrar la dirección de correo electrónico de quién era el commit, en lugar del nombre de usuario de Subversion. Hace que el correo electrónico enviado sea un poco más útil (en realidad puede responderlo).

Pauk
fuente
Para referencia futura: en otros sistemas que no determinan el tipo de archivo por extensión (bueno, definitivamente al menos Linux), el gancho simplemente se nombra post-commit. Simplemente elimine la .batextensión de la versión de Windows del nombre.
David Z
David, gracias por tus comentarios. He ajustado la respuesta en consecuencia.
Pauk
2

Uso SVN-Notify , que es un script perl y debería ejecutarse en Windows, aunque no lo he probado. Utiliza HTML :: ColorDiff para proporcionar bonitas diferencias de color después de la confirmación.

Esto me lo recomendó un colega dev, y es genial.

Cawflands
fuente
2

El monitor SVN es probablemente lo que quieres.

Parsa
fuente
Ejecuto Linux, por lo que una aplicación independiente de Windows no funcionará. Sin embargo, agradezco la sugerencia.
Alex Balashov