Estoy usando git para administrar un sitio web en un servidor.Git está cambiando los permisos de mi archivo cuando presiono al servidor
I tienen un repositorio local se muestra a continuación
[email protected]:myapp$ ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}'
total 16
755 [email protected] 18 thomas staff 612 Jun 13 15:35 application
755 [email protected] 11 thomas staff 374 Jun 12 16:25 assets
644 [email protected] 1 thomas staff 6399 Jun 22 11:45 index.php
755 [email protected] 10 thomas staff 340 May 14 15:22 system
Tengo un repositorio desnudo en el servidor que utiliza post-receive
para señalar el repositorio delante de Apache. El contenido de las carpetas de public
de Apache está por debajo del repositorio desnudo.
[email protected]:/srv/public/myapp# ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}'
total 20
700 drwx------ 15 root root 4096 Jun 27 11:31 application
700 drwx------ 10 root root 4096 Jun 27 11:31 assets
600 -rw------- 1 root root 6399 Jun 27 11:31 index.php
700 drwx------ 8 root root 4096 Jun 27 11:31 system
Esto está causando caos en mi código en el servidor web.
¿Cómo puedo solucionar esto? Estoy usando gitolita si eso hace alguna diferencia.
servidor git archivo de configuración
[core]
repositoryformatversion = 0
filemode = true
bare = true
¿Ha comprobado la máscara de usuario para el usuario que se utiliza para crear/srv/repo pública/miaplicacion? ¿Qué hay en la configuración de git? ¿Algo relacionado con el modo archivo cambió allí? – bcelary
He estado jugando con el modo de archivo y lo tenía funcionando en un punto, ahora es "cierto". No estoy seguro de qué es "el desenmascaramiento". Tengo un usuario de git que configuré con gitolite. Actualicé la publicación. – ThomasReggi
Ver [esta pregunta] (http://stackoverflow.com/questions/1071241/how-does-git-handle-folder-permission). – vergenzt