[phphook] un petit système de gestion des hooks de subversion

Soyez le premier à donner votre avis sur cette source.

Vue 5 020 fois - Téléchargée 245 fois

Description

Salut à tous,
La finalité de ce projet est de permettre d'ajouter simplement autant de hooks que l'on veut à un dépôt Subversion. Un hook est en fait une classe qui implémente l'interface SubversionHook. Lorsqu'un utilisateur commite des données, la méthode onPreCommit($objTransaction) est appelé, le paramètre $objTransaction étant la transaction en cours.
Pour ajouter un hook, il suffit d'ajouter une instance de la classe dans le tableau $arrConfiguration du fichier ./includes/main.include.php, et le fichier pre-commit.bat doit être placé dans le répertoire ./hook/ du dépot Subversion.
Voici un exemple de hook qui n'accepte pas les commits sans message.

Source / Exemple :


<?php
/* -------------------- */
   Application :: importInterface('SubversionHook');
   Application :: importClass('SubversionTransaction');
/* -------------------- */
   class CheckEmptyMessageHook implements SubversionHook {
   
      public function onPreCommit($objTransaction) {
         $strTransactionMessage = $objTransaction -> getMessage();
         if (trim($strTransactionMessage) == '') {
            $objTransaction -> reject('Le message est vide ! ');
         }
      }
   
   }
/* -------------------- */
?>

Conclusion :


Le projet en est vraiment à ces débuts : seul le hook sur les pre-commits est géré ... Mais les autres ne sont pas difficile à faire, loin de là.
De plus, il n'y a pas encore de fichier de configuration centralisé : il faut changer le répertoire des exécutables de Subversion directement dans le fichier ./classes/Subversion.class.php, etc.
Les classes qui modélisent les différentes entitées de subversion (SubversionTransaction, SubversionRevision, etc.) sont loin d'être complète et la gestion des exceptions n'est pas faite.
Et enfin, il manque une interface complète ... Ce sera d'ailleurs le principal atout du projet : une configuration simplifiée d'un serveur Subversion !
Voilà ! N'hésitez pas à poser des questions ou laisser des commentaires !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

sansounadev
Messages postés
2
Date d'inscription
mercredi 28 janvier 2009
Statut
Membre
Dernière intervention
28 janvier 2009
-
s'il vous plait comment faire tourner cette applicaion???
j'ai besoin nécessairement, je suis débutant en php
LocalStone
Messages postés
515
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009
-
Merci pour vos commentaires ! Je pense que si le projet avance correctement et se finalise, ça peut vraiment être quelque chose d'utile pour la gestion de projet.
neigedhiver
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
11 -
Salut,

MDR Malalam ton commentaire... Ca se voit quand t'écris si t'as bu ou pas lol

Bon moi, je peux venir ici qu'au boulot, donc j'ai pas trop le temps de regarder la source. Par contre, comme le boss, je trouve l'idée très intéressante.
J'ai récemment découvert les hooks de svn, et une classe PHP qui joue avec, c'est sympa...
Conclusion : faudra que j'aille voir la source prochainement, quand j'aurai du temps ;) et bon point pour l'idée !
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17 -
Hello,

allez, un p'tit pour te faire plaisir ;)
Oh ne le prends pas mal, je t'explique : il est minuit, je rentre d'un dîner...j'irai pas mater ton code. J'ai lu le descriptif, et d'emblée, l'idée est très bonne, originale (pour un code CS j'entends). Donc, bon point déjà :-)
Je ne note pas n'ayant pas vu le code mais je te fais confiance de ce côté là...!
Je materai ça un autre soir ceci dit.
LocalStone
Messages postés
515
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009
-
Hésitez pas pour les commentaires et les conseils !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.