Gource es una herramienta para la visualización de la evolución de un proyecto a partir del log de su sistema de control de versiones. Gource es mucho más visual que StatSVN ya que utiliza OpenGL para renderizar de forma atractiva el árbol de ficheros del proyecto junto a sus atareados desarrolladores (como abejas en un panal). Es compatible con Git, Mercurial y SVN. Si quieren ver el nivel de actividad del proyecto y dejarme en ridículo, presionen al botón de reproducción.

Un poco de reflexión

En el vídeo se aprecia perfectamente las dos partes diferenciadas del proyecto: IberOgre (derecha) y Sion Tower (izquierda). Como mencioné en el informe de StatSVN, vemos que al comienzo el ritmo de trabajo era muy bajo. Comencé por el documento de diseño del juego y algunos artículos de la wiki (no reflejados por Gource). Más adelante la situación mejoró con los ejemplos para IberOgre y la explosión de trabajo en Sion Tower a partir de enero.

Me atrevo a decir que la evolución es favorable y trataré de que permanezca así durante los próximos meses.

Compilando e instalando Gource en Linux

La versión de Gource que se encuentra en los repositorios de Ubuntu es bastante arcaica por lo que la mejor opción es descargarlo, compilarlo e instalarlo.

sudo apt-get install build-essential make autoconf automake libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev libglew1.5-dev
  • Configuramos y comprobamos que todo esta correcto:
./configure
  • Compilamos:
make
  • Instalamos:
sudo make install

Creando un vídeo de Gource con ffmpeg

Gource se dedica a mostrar en una ventana la evolución del proyecto pero no guarda un vídeo del resultado. Para conseguirlo podemos hacer uso de ffmpeg, la solución libre para trabajar con audio y/o vídeo. Instalamos ffmpeg en sistemas basados en Debian con el clásico comando:

sudo apt-get install ffmpeg

En versiones anteriores a la 0.7, Gource estaba enfocado especialmente a Git y era necesario transformar los logs de SVN con un script para que el software lo aceptase. Actualmente ya no es necesario a menos que tengas la versión de los repositorios. Para iniciar la grabación nos situamos en el directorio raíz del proyecto y ejecutamos lo siguiente:

gource --seconds-per-day 1 --stop-at-end -1280x720 -o - | ffmpeg -y -f image2pipe -vcodec ppm -i - -vcodec libx264 -vpre slow -threads 4 gource.mp4

Merece la pena mencionar las siguientes opciones:

  • –seconds-per-day: número de segundos de vídeo por cada día en la evolución del proyecto.
  • –stop-at-end: cierra Gource cuando hayamos llegado al punto actual del proyecto.
  • -ANCHOxALTO: resolución del vídeo de salida.
  • -threads: número de hilos que utilizará ffmpeg para codificar el vídeo, deberás modificarlo según la arquitectura de tu equipo.