Githooks

Hace ya mucho tiempo comencé a plantearme cómo sería desplegar Git para usarlo como sistema de control de versiones en los proyectos de Yaco. Aquello surgió de un sano flame que teníamos un compañero y yo, con otro compañero entusiasta de Mercurial. Aprendimos bastante (ya le dedicaré algún post que otro) sobre cómo desplegarlo, que si Apache + LDAP, que si Gitolite (que por cierto es buenísimo), etc.

La verdad es que hay bastantes cosas hechas, pero nos encontramos con que no había nada preparado para el desarrollo con Python en cuestión de hooks. Por ello comencé entonces a desarrollar Githooks, un sistema de hooks para Git para proyectos desarrollados con Python. Básicamente se trata de un set de hooks para:

  • Pyflakes
  • PEP8
  • PDB
  • Integración con Trac

Estos hooks están basados en el proyecto Hghooks de mi compañero Lorenzo, y su uso es de lo más sencillo. Tan sólo hay que instalarlos en la máquina donde esté el repositorio Git mediante el sistema de paquetería de Python:

easy_install githooks

El paquete de Githooks en PyPi está aquí.

Una vez instalado sólo hay que activar el hook en el repositorio. Si queremos que el hook salte cuando se hace push desde otro repositorio, hay que activar el hook update. De dicho hook se distribuye un ejemplo con githooks que se puede utilizar directamente.

Se puede encontrar más información sobre hooks para Git aquí.

Show Comments