Para ello nos vamos al directorio del repositorio SVN y creamos el script:
$ vim post-commit
#!/bin/bash
# post-commit script
# @autor: Matias J. Magni
# @email: matias.magni@gmail.com
# ----------------------------------------------------------------------------------
# variables a modificar. separar direcciones de correo electronico con un espacio.
mails="matias.magni@gmail.com thegoldmember@gmail.com"
ip="mjm.homelinux.com"
# ----------------------------------------------------------------------------------
# $1: home de svn
# $2: revision del repositorio
i=0;
autor=$(svnlook author $1 -r $2)
log=$(svnlook log $1 -r $2)
archivos=$(
for linea in $(svnlook changed $1 -r $2)
do
i=$(($i+1))
if [ $(($i%2)) -eq 1 ]
then
echo "<li>"
else
echo $linea
fi
done
)
fecha=$(svnlook date $1 -r $2 | cut -f 1,2,4,5,6,7 -d " ")
# contenido del mail
mensaje="<h1>La revisión $2 del repositorio ya se encuentra disponible.</h1>
Modificado por <b>$autor</b>.<br><br>
<b>Fecha de modificación:</b> $fecha<br><br>
<b>Comentario de modificación:</b><br>
<pre>$log</pre><br>
<b>Archivos modificados:</b><br>
<ul>$archivos</ul><br>
<b>URL:</b> svn://$ip$1"
# envio del e-mail.
echo $mensaje | mutt -e 'set content_type="text/html"' -s "SVN - Cambios en el repositorio" $mails
El e-mail debería ser una cosa así:
Pero para poder hacer esto necesitaremos que mutt esté configurado para poder acceder a nuestra cuenta Gmail. Lo primero que debemos hacer es configurar nuestra cuenta para que sea accesible vía protocolo IMAP, para lo cual accedemos a nuestro correo y nos vamos a Configuración > Reenvío y correo POP/IMAP y habilitamos IMAP. Luego, debemos editar un archivo rc que pondremos en nuestro home directory:
$ vim .muttrc
set imap_user = "aquí va el e-mail"
set imap_pass = "aquí va el password"
set smtp_url = "smtp://aquí va el nombre de la cuenta@smtp.gmail.com:587/"
set smtp_pass = "aquí va el password"
set from = "aquí va el e-mail"
set realname = "aquí va tu nombre"
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set postponed="+[Gmail]/Drafts"
set header_cache=~/.mutt/cache/headers
set message_cachedir=~/.mutt/cache/bodies
set certificate_file=~/.mutt/certificates
set move = no
set sort = 'threads'
set sort_aux = 'last-date-received'
set imap_check_subscribed
ignore "Authentication-Results:"
ignore "DomainKey-Signature:"
ignore "DKIM-Signature:"
hdr_order Date From To Cc