Git für Cygwin und Dateiberechtigungen

1670
Chloe

Warum wird git for Cygwin immer mit Dateiberechtigungen verwechselt? Die Datei hat sich nicht geändert. TortoiseGIT glaubt nicht, dass es modifiziert ist. DOS Git glaubt nicht, dass es geändert wurde.

$ 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
Welche git-Version verwendet git cygwin? Eine ähnliche Frage (unter DOS, nicht cygwin) erwähnte, dass ein neuerer Client Berechtigungen konsistenter behandelt: http://stackoverflow.com/a/18842322/6309 VonC vor 10 Jahren 0
@VonC Natürlich ... hinzugefügt. Chloe vor 10 Jahren 0
Das scheint neu genug zu sein;) Vorläufig jedoch keine Ahnung. VonC vor 10 Jahren 1

1 Antwort auf die Frage

2
David

Es sieht so aus, als ob README.mdin Ihrem Arbeitsverzeichnis Benutzerausführungsberechtigungen festgelegt sind, nicht jedoch im Index, daher der gemeldete Unterschied.

Versuchen Sie es und sehen Sie, ob es hilft:

git config core.filemode false 

Ich habe zum Beispiel etwas nachgebildet, das Ihrer Situation entspricht, und Folgendes bekomme ich (mit beiden Einstellungen von 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  $ 

Achtung, ich verwende verschiedene Versionen von Cygwin und 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