Envoi de mail avec subversion

Arnaud

  • Site

Jeudi 27 mai: Envoi de mail avec subversion

Le besoin

Sur un repository subversion j'ai besoin de recevoir des mails avec le log et un diff des fichiers affectés.

La solution

Subversion est fourni avec plusieurs scripts prêts à  l'emploi. Mon choix s'est porté sur le script Python mailer.py qui se trouve dans le répertoire subversion -1.0.4/tools/hook-scripts/mailer

J'ai appliqué ce que je pensais suffisant:

 # copie de mailer.py et mailer.conf.example dans /chemin/vers/repository/conf

 # recommer mailer.conf.example en mailer.conf. Edition du fichier pour mettre les bons paramètres

# aller dans /chemin/vers/repository/hooks
cp post-commit.tmpl post-commit
chmod u+x post-commit

# édition du script post-commit  pour appeler
/chemin/vers/repository/conf/mailer.py "$REPOS" "$REV" /chemin/vers/repository/conf/mailer.conf

J'ai du lire la documentation de travers car l'envoi de mail ne fonctionnait pas. Après avoir cherché sur le net comment résoudre ce problème j'ai décidé d'aller sur IRC demander de l'aide (pour me rendre compte que la doc lue plus en détail aurait répondu à  mes questions).

Le script mailer.py ne pouvait pas importer le module svn.fs est l'erreur obtenue en lanà§ant le script dans une console.

Au final la solution que j'ai appliqué est la suivante: * pour faire fonctionner le script python il faut les liaisons (bindings) SWIG pour Python. * grâce à  mes questions sur IRC j'ai découvert que la faà§on d'installer SWIG pour subversion est décrite dans la documentation de subversion (forcément) * ajout d'une variable dans le script post-commit contenant le chemin pour les modules Python * légère modification de mailer.py pour lui indiquer l'emplacement de Python * après ca le script mailer.py fonctionne très bien.

Voici les démarches:

 # téléchargement de SWIG 1.3.21
 <http://sourceforge.net/project/showfiles.php?group_id=1645>

 #compilation de SWIG, décrite dans subversion-1.0.4/subversion/bindings/swig/INSTALL     
 ./configure
  make
  make runtime
  make install-runtime
  make install

  #retour dans le répertoire des sources de subversion
  make swig-py
  make install-swig-py

  #variable d'environnement pour mailer.py a ajouter dans le "hook" post-commit
  PYTHONPATH="/usr/local/lib/svn-python"
  export PYTHONPATH

  #apres une heure et beaucoup d'aide du channel IRC #svn
  #édition du shebang de mailer.py en
  #!/usr/local/bin/python2.3

Merci au channel IRC #svn sur freenode o๠j'ai reà§u une aide précieuse.

Posté par Arnaud Limbourg dans Outils

Rétroliens
Rétrolien spécifique pour ce billet

Pas de rétroliens

Commentaires
Afficher les commentaires en (Vue non groupée | Vue groupée)

Pas de commentaires


L'auteur n'a pas autorisé l'ajout de commentaires pour ce billet.

Catégories

  • XML Cinema
  • XML Conferences
  • XML Dev
  • XML Javascript
  • XML PHP
  • XML PEAR
  • XML Zend Framework
  • XML General
  • XML OS
  • XML Linux
  • XML OSX
  • XML Outils
  • XML Standards


Toutes les catégories

Syndiquer ce Blog

XML RSS 2.0 feed
ATOM/XML ATOM 1.0 feed
XML RSS 2.0 Commentaires
Flux RSS via feedburner

Blogs en francais

  • Dur Comme Faire
  • :: onpk ::
  • Planète-PHP FR

Licence

Creative Commons License - Some Rights Reserved
Le contenu original de cette création est sous contrat Creative Commons

propulsé par

Serendipity PHP Weblog

Design by Andreas Viklund | Conversion to s9y by Carl