2012-08-30 7 views
6

He clonado un repositorio de Git desde Windows usando msysgit (v1.7.7) en una unidad de red. Algunos archivos están marcados en el repositorio para tener el modo 100755.Modo de archivo con msysgit

Usando la herramienta git bash de Windows, el comando ls -l muestra de manera efectiva los buenos permisos para esos archivos. Ahora, cuando accedo al directorio del repositorio de Linux, los archivos tienen permisos 644 en lugar de 755.

Si les chmod a 755 en el lado de Linux y volver a la herramienta fiesta de Git en Windows:

  • el comando ls -l aún muestra los archivos que tienen permisos 755
  • pero el comando git diff le dice a los archivos de modo de cambiar desde 100755 a 100644

alguna idea de cómo manejar adecuadamente f modo ile utilizando msysgit en Windows?

me encontré con este problema en msysgit que corresponde a mi problema http://code.google.com/p/msysgit/issues/detail?id=164 Probé la pista propuesta git update-index --chmod=+x en mis archivos pero no cambió nada.

Respuesta

11

mingw no es compatible con los modos de archivo como lo hace linux. Según entiendo, sigue el soporte de extensión de Windows, es decir, .exe tendrá + x bits. Pero chmod no hace nada.

Por lo tanto, para git debe especificar git config core.filemode false para deshabilitar la compatibilidad con el modo de archivo en mingw. Y si necesita cambiarlo, debe hacerlo bajo Linux.

Howerver, tal vez estoy equivocado, pero afair cygwin admite modos de archivos. Podrías probarlo en lugar de mingw.

Cuestiones relacionadas