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 !
26 janv. 2009 à 13:56
j'ai besoin nécessairement, je suis débutant en php
6 juin 2008 à 11:59
5 juin 2008 à 11:42
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 !
4 juin 2008 à 23:55
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.
4 juin 2008 à 15:42
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.