tutorial - tortoise svn create branch
La forma más fácil/mejor de configurar correos electrónicos de commit de SVN? (4)
Me gustaría configurar correos electrónicos de compromiso en un proyecto en el que estoy trabajando, como se describe aquí:
http://producingoss.com/en/vc.html#commit-emails
Es decir, use un enganche de confirmación posterior para enviar un correo electrónico a una lista que contenga el título / registro de confirmación y la diferencia de los cambios.
¿Cuál es la forma más fácil en una máquina Linux para configurar esto?
Usamos 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.
Nuestro script completo de anotación post-commit es solo de unas pocas líneas (tenga en cuenta que puede hacer otras cosas en su enlace post-commit, pero actualmente 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
Al crear un nuevo repositorio, se proporciona un gancho post-commit de ejemplo en hooks/post-commit.tmpl
. Contiene una línea que se parece más o menos a esto:
/usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" [email protected]
Simplemente sustituya el correo electrónico con la dirección a la que desea enviar las notificaciones, cambie el nombre del script a hooks/post-commit
(elimine la extensión tmpl
) y tmpl
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, en el caso de Debian, el script commit-email.pl
está ubicado en un paquete opcional subversion-tools
.
Aunque esta pregunta es un poco antigua, pensé que dejaría mi opinión para quienes vienen de 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 puede instalarlo escribiendo:
apt-get install libsvn-notify-perl
Entonces, si vas a enviar correos electrónicos a cuentas de Gmail, debido a la extraña compatibilidad con CSS en Gmail, te recomendaría aplicar el parche que se encuentra aquí , lo que significa:
- Descargue
HTML.pm
yColorDiff.pm
- Reemplace con ellos
/usr/share/perl5/SVN/Notify/HTML.pm
y/usr/share/perl5/SVN/Notify/HTML/ColorDiff.pm
, respectivamente.
Y finalmente, configure el script de gancho post-commit
la manera 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
Consulte el paquete svn-mod-email que se describe aquí . El svn-mod-email es una poderosa herramienta para la administración de notificaciones de correo electrónico SVN que se entrega como un archivo Debian. Es fácil de instalar, configurar y usar.