Forma más fácil y mejor manera de establecer SVN commit correos electrónicos?

StackOverflow https://stackoverflow.com/questions/501692

  •  20-08-2019
  •  | 
  •  

Pregunta

Me gustaría configurar correos en un proyecto en el que estoy de trabajo, como se describe a continuación:
http://producingoss.com/en/vc.html#commit-emails

Es decir, utilizar un puesto de cometer gancho para enviar un correo electrónico a una lista que contiene la confirmación de título/registro y resumen de los cambios.

¿Cuál es la manera más fácil en una máquina Linux para configurar esto?

¿Fue útil?

Solución

Al crear un nuevo repositorio, se proporciona un ejemplo de enlace posterior a la confirmación en hooks/post-commit.tmpl. Contiene una línea que se parece más o menos a esta:

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

Simplemente sustituya el correo electrónico con la dirección a la que desea enviar notificaciones, cambie el nombre del script a hooks/post-commit (elimine la extensión tmpl) y hágalo ejecutable (chmod a+x).

Cuando ejecute el script commit-email.pl sin ningún argumento, verá una pantalla de uso con opciones adicionales que permiten, por ejemplo, modificar la línea de asunto o la dirección De.

Tenga en cuenta que en el caso de Debian, el script subversion-tools se encuentra en un paquete opcional <=>.

Otros consejos

Aunque esta pregunta es un poco viejo, pensaba que iba a dejar mi opinión para los que vienen aquí desde Google:

He considerado la posibilidad de que las soluciones que se mencionan aquí.El commit-email.pl fue tanto más fácil y mejor trabajo para mí.Sin embargo, me parece tanto soluciones que carecen el formato correcto.

Por lo tanto, la svnnotify paquete parece producir lo suficientemente bien formateado y de color correos electrónicos para mí.

En Debian/Ubuntu puedes instalarlo escribiendo:

apt-get install libsvn-notify-perl

Entonces, si vas a enviar correos electrónicos a las cuentas de Gmail, debido a la extraña soporte para CSS en Gmail, recomiendo aplicar el parche encuentra aquí, que significa:

  • Descargar HTML.pm y ColorDiff.pm
  • Reemplazar con ellos /usr/share/perl5/SVN/Notify/HTML.pm y /usr/share/perl5/SVN/Notify/HTML/ColorDiff.pm, respectivamente.

Y por último, el programa de instalación de la post-commit script gancho de la forma habitual:

# 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

Usamos svnmailer para esto. Vinculamos nuestros scripts de enlace post-commit específicos del repositorio a un solo script, que a su vez llama a svnmailer. La configuración es bastante sencilla, y con su simple.conf configuración de ejemplo, puede estar en funcionamiento en unos minutos. Tenga en cuenta que está escrito en Python, por lo que es un requisito previo para la instalación.

Todo nuestro script de enlace post-commit es solo unas pocas líneas (tenga en cuenta que puede hacer otras cosas en su enlace post-commit, pero actualmente no lo hacemos):

#!/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

Verifique el paquete svn-mod-email descrito aquí . El svn-mod-email es una herramienta poderosa para la gestión de notificaciones de correo electrónico SVN que se entrega como un archivo Debian. Es fácil de instalar, configurar y usar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top