[SVN] Agregar notificación por email en caso de cambios en el repositorio

Esto es muy productivo en cualquier equipo de trabajo, recibir notificación por email de cada vez que ocurre un cambio en un repositorio de un proyecto donde estés trabajando, esto permite tener a todo el equipo notificado y coordinado con los cambios, y en caso de problemas poder detectarlo rápidamente (se tocó un archivo que no correspondía, un error, cambio no planeado, etc). También permite aumentar el contro de calidad si esto es revisado por el teamleader (o un responsable de QA) que revise si se cumplen los criterios de calidad prefijados.

Les dejo la configuración que hay que hacer en el hosting dreamhost.com, pero que también pueden aplicar en vuestros servidores:

En el directorio del proyecto SVN tienen que buscar el subdirectorio hooks, y copiar el archivo de ejemplo post-commit.tmpl como post-commit (donde agregaremos todas las acciones que queremos que ocurran una vez que existan un commit):

#!/bin/sh

REPOS="$1"
REV="$2"

/usr/share/subversion/hook-scripts/commit-email.pl --from info@surforce.com "$REPOS" "$REV" desa1@gmail.com desa2@gmail.com desa3@gmail.com


Y listo, ahora luego de que cualquier desarrollador haga un commit, nos llegará a todos un email con un diff con los cambios realizados, por ejemplo:

Author: alejandro145
Date: 2009-12-04 14:49:01 -0800 (Fri, 04 Dec 2009)
New Revision: 16

Modified:
public/js/jquery/ui/themes/ui-
lightness/ui.datepicker.css
Log:
Cambia el tamaño del widget para elegir fechas

Modified: public/js/jquery/ui/themes/ui-lightness/ui.datepicker.css
===================================================================
--- public/js/jquery/ui/themes/ui-lightness/ui.datepicker.css 2009-12-04 21:48:09 UTC (rev 15)
+++ public/js/jquery/ui/themes/ui-lightness/ui.datepicker.css 2009-12-04 22:49:01 UTC (rev 16)
@@ -1,5 +1,7 @@
/* Datepicker
----------------------------------*/
+.ui-widget.ui-datepicker { font-size:.8em }
+
.ui-datepicker { width: 17em; padding: .2em .2em 0; }

Las líneas agregadas aparecen a la izquierda con un "+" o un "-" si estas son eliminadas.

Que les sirva de referencia para su trabajo en equipo ;-)

PD: por las dudas, ya que es un error que he cometido seguido, el scripts tiene que tener permisos de ejecución (confunde muchas veces que el ejemplo .tmpl no tenga permisos de ejecución, y uno viene y lo copia directamente y piensa que es solo cambiar el contenido), ya que es SVN lo tiene que ejecutar.

3 comentarios:

diFERente dijo...

Interesante los servicios que ofrece Deamhost, voy a echarle un vistazo ya que mi proveedor de hosting no parece ser tan potente.
Estaría bueno un articulo de como hacer el deploy de un proyecto ya que muchos usuarios, dentro de los cuales me incluyo, seguimos haciendo esto por ftp lo cual no se si es lo mas conveniente hoy en día.

Saludos,
Fernando.

enrique_place dijo...

Que tal diFERente ;-)

Sugerencia anotada para hacer un nuevo post del tema.

Saludos! ;-)

Maximiliano dijo...

Hola Enrique

Ya que escribiste de SVN, hay alguna forma de bloquear un archivo para que un desarrollador no lo abra, aveces por concidencia abrimos el mismo archivo y nos pisamos los cambios. bueno lo resuelvo revisando una versión anterior.

Gracias por tu ayuda

Saludos
Maximiliano

Entradas populares