Git для Cygwin и права доступа к файлам

1568
Chloe

Почему git для Cygwin всегда путают с правами доступа к файлам? Файл не изменился. TortoiseGIT не считает, что он модифицирован. DOS Git не думает, что он модифицирован.

$ git diff README.md diff --git a/README.md b/README.md old mode 100644 new mode 100755  $ ls -l README.md -rwx------+ 1 Chloe None 824 Sep 4 00:55 README.md  $ which git /usr/bin/git  $ git --version git version 1.8.3.4  $ uname -a CYGWIN_NT-6.2-WOW64 xps 1.7.25(0.270/5/3) 2013-08-31 20:39 i686 Cygwin 
3
Какую версию git использует git cygwin? Аналогичный вопрос (в DOS, а не в cygwin) отметил, что более поздний клиент более последовательно обрабатывает разрешения: http://stackoverflow.com/a/18842322/6309 VonC 10 лет назад 0
@VonC Конечно ... добавлено. Chloe 10 лет назад 0
Это кажется достаточно недавним;) Пока что понятия не имею. VonC 10 лет назад 1

1 ответ на вопрос

2
David

Похоже, что README.mdв вашем рабочем каталоге установлены пользовательские разрешения на выполнение, но это не так в индексе, отсюда и разница.

Попробуйте это и посмотрите, поможет ли это:

git config core.filemode false 

Например, я воссоздал нечто, похожее на вашу ситуацию, и вот что я получаю (с обоими настройками core.filemode):

$ git config core.filemode true  $ git diff foo.txt diff --git a/foo.txt b/foo.txt old mode 100644 new mode 100755  $ ls -l foo.txt -rwx------+ 1 david Domain Users 0 Jul 2 12:40 foo.txt*  $ git config core.filemode false  $ git diff foo.txt  $ 

Внимание, я использую разные версии Cygwin и Git:

$ which git; git --version; uname -a /usr/bin/git git version 1.7.9 CYGWIN_NT-6.1-WOW64 XXXXXX 1.7.30(0.272/5/3) 2014-05-23 10:36 i686 Cygwin 

Похожие вопросы