2009-02-01 11 views
19

Me gustaría configurar correos electrónicos comprometerse en un proyecto que estoy en el trabajo, tal como se describe aquí:
http://producingoss.com/en/vc.html#commit-emails¿La forma más fácil/mejor de configurar correos electrónicos de commit de SVN?

Es decir, utilizar un puesto de cometer gancho para enviar un correo electrónico a una lista que contiene el título comprometerse/log y diff de los cambios.

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

Respuesta

18

Al crear nuevo repositorio un gancho de post-commit de muestra se proporciona en hooks/post-commit.tmpl. Contiene una línea que se ve más o menos así:

/usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" [email protected] 

simplemente sustituya el correo electrónico con la dirección que desea enviar notificaciones a, cambiar el nombre del script para hooks/post-commit (quitar la extensión tmpl) y hacerlo ejecutable (chmod a+x)

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

Tenga en cuenta que es caso de Debian el script commit-email.pl se encuentra en un paquete opcional subversion-tools.

+0

Bueno, esto definitivamente califica como "más fácil". ¡Gracias! –

+0

Es bueno escuchar que podría ayudar :) –

10

Utilizamos svnmailer para esto. Vinculamos simbólicamente nuestros scripts de gancho 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 configuración de ejemplo simple.conf 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 post-commit script gancho es sólo unas pocas líneas (tenga en cuenta que es posible hacer otras cosas en su gancho post-commit, pero por el momento no):

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

Esto se ve muy bien, gracias –

+0

De nada. Lo siento, fue la respuesta incorrecta. –

+0

Si hubiera podido aceptar ambos, lo hubiera hecho. Tan pronto como encuentro commit-email.pl demasiado limitado, me dirijo directamente a svnmailer. ¡Gracias de nuevo! –

33

Aunque esta pregunta es un poco viejo, sólo pensé que dejaría mi opinión para los que vienen aquí desde Google:

he considerado las soluciones mencionadas aquí. El commit-email.pl fue más fácil y mejor para mí. Sin embargo, considero que ambas soluciones carecen del formato adecuado.

Por lo tanto, el paquete svnnotify parece producir correos electrónicos suficientemente formateados y coloreados para mí.

En los sistemas Debian/Ubuntu se puede instalar escribiendo:

apt-get install libsvn-notify-perl 

Entonces, si se va a enviar correos electrónicos a cuentas de Gmail, debido al soporte de CSS extraño en Gmail, no te recomiendo aplicar el parche found here, lo 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, resp ectively.

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

# email notifications for commits 
/usr/bin/svnnotify --repos-path "$REPOS" --revision "$REV" \ 
    --to [email protected] \ 
    --from [email protected] \ 
    --with-diff \ 
    --subject-cx \ 
    --subject-prefix 'Your Project Name: ' \ 
    --handler HTML::ColorDiff \ 
    --css-inline 
    2>&1 & 

exit 0 
+1

Ojalá frote esto dos veces :-) ¡Obtiene muy buenos correos de esta manera, pulgares arriba! – Brimstedt

+0

+1 para el --css-inline Eso debería ir al SVN principal Notificar –

+0

+1 buen formato de correo electrónico. ¡Los correos electrónicos son tan agradables que no puede esperar para comprometerse! – dawez

-1

Compruebe el SVN-mod-mail paquete describe here. El svn-mod-email es una poderosa herramienta para la administración de notificaciones de correo SVN que se entrega como un archivo Debian. Es fácil de instalar, configurar y usar.

+0

¡El enlace está muerto! pero no estoy seguro de por qué alguien votó negativamente esta respuesta? – hriziya

+0

El enlace está funcionando nuevamente. Gracias por hacérmelo saber. – Guardian

Cuestiones relacionadas