El gancho posterior a la confirmación de Subversion no se ejecutará en la confirmación, el script funciona porque puedo ejecutarlo en la línea de comando
-
21-12-2019 - |
Pregunta
Acabo de crear un nuevo repositorio.Mi servidor es Ubuntu 12.04 de 32 bits.Quiero que mis compromisos estén activos tan pronto como los haya comprometido.Esto se logra haciendo una copia de trabajo en mi directorio html público y haciendo que el enlace posterior a la confirmación actualice esa copia de trabajo.Lo configuré siguiendo las instrucciones aquí:
http://www.frenssen.be/content/using-subversion-automatically-update-live-website
El problema es que mi confirmación posterior no se ejecutará cuando se confirme mi proyecto. Mi proyecto se compromete muy bien.Sé que el script también es válido porque puedo ejecutarlo con
env ./post-commit
dentro de la hooks
directorio y se actualiza correctamente.
Pensé que podría ser una cuestión de permisos, así que hice un uso extensivo de chown
para asegurar eso www-data
es propietario 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
Pero todavía nada.Mis confirmaciones son exitosas, pero el enlace nunca se ejecuta.Mi script de enlace se ve así:
#!/bin/sh
/home/svn/autoupdate/autoupdate
Todas las búsquedas en Google parecen apuntar a un problema de permisos, pero no puedo resolverlo.
Solución
¿Puedes repetir el ejemplo de este tipo y ver si funciona en absoluto?
mikewest.org/2006/06/subversion-post-commit-hooks-101
¿Se obtiene un error cuando se compromete?
Si su gancho posterior a la comisión falló en realidad, creo que verías evidencia de eso en cualquier cliente que usara para realizar el registro.Casi sospecho que el post-commit no está disparando en absoluto.Solo para verificar doble, el archivo debe llamarse en realidad post-commit, todo en minúsculas y no post-commit.tmpl.