Ne pas partager mes modifications si les tests échouent !

A chaque fois que je partage mes modifications sur le code que je viens de faire en faisant un :

$ git push

je devrais au préalable avoir lancé mes tests (unitaires et/ou fonctionnels) mais il m'arrive d'oublier. Et comme pour toutes les tâches de ce genre il faut automatiser au maximum pour ne pas oublier.

Et bien c'est plutôt facile si vous utilisez git, il suffit d'ajouter un hook et en l'occurence il faut utiliser le pre-push qui est appelé juste avant l'exécution de la commande git push. Il suffit d'ajouter dans le dépôt de travail (on peut aussi le faire pour tous les dépôts), c'est-à-dire dans le répertoire .git/hooks, un fichier exécutable pre-push qui peut contenir par exemple :

#!/bin/sh

COMMAND="./bin/atoum"

echo "atoum pre push hook start"

$COMMAND

exit $?

Le fait que la commande appelée dans le hook renvoie 0 ou quelque chose différent de 0 fera que la commande push sera exécutée ou non. C'est bien ce que je voulais.

Haut de page