Le hook post-commit de Subversion ne s'exécutera pas lors de la validation, le script fonctionne car je peux l'exécuter sur la ligne de commande
-
21-12-2019 - |
Question
Je viens de créer un nouveau référentiel.Mon serveur est Ubuntu 12.04 32 bits.Je veux que mes commits soient actifs dès que je les ai validés.Ceci est réalisé en créant une copie de travail dans mon répertoire HTML public et en faisant mettre à jour cette copie de travail par le hook post-commit.J'ai configuré cela en utilisant les instructions ici :
http://www.frenssen.be/content/using-subversion-automatically-update-live-website
Le problème est que mon post-commit ne s'exécutera pas lorsque mon projet sera validé. Mon projet s'engage très bien.Je sais que le script est également un script valide, car je peux l'exécuter avec
env ./post-commit
à l'intérieur du hooks
répertoire et il se met à jour correctement.
Je pensais que cela pourrait être une question d'autorisations, alors j'ai largement utilisé chown
pour être sur de www-data
est propriétaire de :
the repo /home/svn/repo2
the working copy /var/www/html
the hook /home/svn/repo2/hooks/post-commit
the update binary /home/svn/autoupdate/autoupdate
Mais toujours rien.Mes commits réussissent, mais le hook ne fonctionne jamais.Mon script hook ressemble à ceci :
#!/bin/sh
/home/svn/autoupdate/autoupdate
Toutes les recherches sur Google semblent indiquer un problème d'autorisations, mais je n'arrive pas à comprendre celui-ci.
La solution
Pouvez-vous répéter l'exemple de ce type et voir si cela fonctionne ?
mikewest.org/2006/06/subversion-post-commit-hooks-101
Obtenez-vous une erreur lorsque vous validez ?
Si votre hook post-commit échouait réellement, je pense que vous en verriez la preuve dans le client que vous utilisiez pour effectuer l'enregistrement.Je soupçonne presque que le post-commit ne se déclenche pas du tout.Juste pour vérifier, le fichier doit en fait être appelé post-commit, tout en minuscules, et non post-commit.tmpl.