Hook svn en Perl sous Windows afin d'empêcher les commits sans commentaire

Si comme moi vous avez des utilisateurs de Subversion qui sont des adeptes du commit avec un commentaire vide, vous savez peut-être qu'on peut configurer svn pour rejeter de tels commit et obliger la saisie d'un commentaire.

Lors de l'exécution de commandes svn, on a la possibilité d'utiliser des hooks (des scripts) sur le serveur qui seront lancés automatiquement par svnserve et qui peuvent permettre d'exécuter des tâches liées, ou de tester les commandes utilisées pour les accepter ou les rejeter. Lors de la création d'un dépôt svn par svnadmin, le répertoire "hooks" est garni de modèles qui vous serviront de base pour vos propres hooks. Lors d'un commit, le hook qui permet de tester et éventuellement de refuser le commit est pre-commit.

J'utilise svn en environnement Windows. Malheureusement même avec la version windows les templates créés par svnadmin sont des scripts sh, et les exemples de script pre-commit qu'on peut trouver en ligne sont presque toujours pour GNU/Linux.

J'ai donc écrit un script Perl pour servir de hook pre-commit sur un serveur Windows. Ce script doit être transformé en ficher .bat via pl2bat pour que svnserve soit capable de l'exécuter lors d'un commit.

Télécharger le fichier  "pre-commit.pl"

Comments