Script de installation de Git Cómo ingresar el command de shell

Esta es más una pregunta relacionada con git que openshift.
Cuando envío files al server de git usando git, veo que los permissions de file de mi file perl index.cgi cambian a 700 en mi repository de openshift.
Por lo tanto, cada vez que hago un push, tengo que iniciar session en el server usando ssh y hacer un chmod a+x index.cgi en mi $OPENSHIFT_REPO_DIR para cambiarlo a 755.

Leí en la documentation de git que es posible agregar un enlace e intenté actualizar el script de actualización de publicaciones en el directory hooks con el siguiente command

 exec chmod a+x $OPENSHIFT_DATA_DIR/index.cgi 

Sin embargo, eso no parece haber funcionado.

¿Puedes decirme qué estoy haciendo mal?
¿Cómo puedo asegurarme de que no tengo que cambiar el chmod cada vez que envío files?

¿Cómo se ejecutan los commands de shell a través del script de installation de git? (No sé qué es el script de installation, supongo que significa los ganchos)

basado en una sugerencia a continuación pensé que necesitaría agregar el gancho al server, así que lo intenté, pero recibí un error

$ git add .git/hooks/post-update error: Invalid path '.git/hooks/post-update' error: unable to add .git/hooks/post-update to index

así que probé algunas opciones usando ganchos de acción al colocar un "inicio" en el directory local .openshift / action_hooks.

El command que he tratado de usar fue exec chmod a+x register.cgi e incluso chmod a+x register.cgi

No mucha suerte. Cualquier input. Lo plantearé como un q separado contra los ganchos de acción.

Esta es más una pregunta relacionada con git que openshift.

En realidad, está más relacionado con openshift que con Git: Git solo registra 644 y 755 permissions .

Pero el sistema de destino que gestiona un process de pago (y la actualización de un tree de trabajo) establecería el permiso de acuerdo con la umask pnetworkingeterminada (que podría estar en su caso 077 ).
Asegúrate de que la umask pnetworkingeterminada sea 022 .

Respecto al gancho, compruebe su nombre (' post-update ', sin extensión) y permiso (debe ser ejecutable, 755 sería útil)

Dale autoridad a este caso en la carpeta gitweb.

gitweb /
drwxr-xr-x 3 raíz de raíz 4096 25 de septiembre 12:01.
drwxr-xr-x 225 root root 12288 27 de oct 20:10 ..
-rwxr-xr-x 1 root root 251319 23 de septiembre 04:36 gitweb.cgi
lrwxrwxrwx 1 root root 10 sep 23 04:36 index.cgi -> gitweb.cgi
drwxr-xr-x 2 root root 4096 Sep 25 12:01 estático