2012-08-30 16 views
6

Sklonowałem repozytorium Git z Windows przy pomocy msysgit (v1.7.7) na dysku sieciowym. Niektóre pliki są oznaczone w repozytorium, aby miały tryb 100755.Tryb pliku z msysgit

Polecenie ls -l za pomocą narzędzia git bash z Windows pokazuje dobre uprawnienia dla tych plików. Teraz, kiedy dostęp do repozytorium katalog z Linuksem, te pliki mają uprawnienia 644 zamiast 755.

Gdybym je chmod na 755 po stronie Linux i wrócić do narzędzia Windows git bash:

  • polecenie ls -l nadal pokazuje pliki mieć 755 uprawnienia
  • ale komenda git diff mówi pliki trybu zmieniło od 100755 do 100644

Każdy pomysł, jak prawidłowo obsługiwać f ile tryb używa msysgit w systemie Windows?

znalazłem ten problem na msysGit która odpowiada moim problemem http://code.google.com/p/msysgit/issues/detail?id=164 próbowałem proponowaną podpowiedź git update-index --chmod=+x na moich plików, ale to niczego nie zmienia.

Odpowiedz

11

Program mingw nie obsługuje trybów plików, tak jak robi to Linux. Jak rozumiem, następuje to po rozszerzeniu Windows, tzn. .exe będzie miało + x bitów. Ale chmod nic nie robi.

Tak więc, dla git należy podać git config core.filemode false, aby wyłączyć obsługę trybu plików w mingw. A jeśli chcesz to zmienić, powinieneś to zrobić pod Linuksem.

Howerver, może się mylę, ale afair cygwin obsługuje tryby plików. Możesz spróbować tego zamiast zmieszać.