En un servidor en el que trabajo, debemos iniciar sesión como root (por razones que no entraré aquí). Tenemos una configuración de repositorio git que se usa para el servidor web, pero como los archivos se crean como raíz, los archivos modificados por git tienen los permisos incorrectos.Permisos de reparación con git post-merge
Creé un gancho increíblemente simple después de la fusión que pensé que resolvería el problema.
#!/bin/bash
. git-sh-setup
chown -R www-data:www-data $GIT_DIR
me cayó esto en .git/hooks/post-merge
con permisos de ejecución, pero el archivo no parece correrse. Esta es la primera vez que intento crear un gancho, así que tal vez me falta algo obvio.
Una cosa que sí noté es que la mayoría de los enganches tenían un archivo .sample
, mientras que los post-merge no. (git versión 1.7.4)
Gracias de antemano!
¿Usted intentó añadir un 'echo' o escribir un archivo' tmp' con el fin de asegurarse de que no se ha ejecutado? ¿Por qué un 'post-merge' (en git pull) y no un' post-receive' (en 'git push')? Si no haces un 'git pull' directamente en el servidor, ese gancho en particular (' post-merge') no se ejecutará. Que el '. Se supone que la línea git-sh-setup' debe hacer? – VonC
Intenté escribir un archivo temporal. No parece que se ejecute. Y lo hago directamente en el servidor. Entiendo que git-sh-setup prepara las variables de entorno necesarias. –
¿Puedes publicar los comandos reales que usas cuando realizas un pull (y esperas que se ejecute el script)? –