Rolf B: GIT unter Windows bei case sensitive Dateien

Beitrag lesen

Hallo alle,

ich habe ein Problem mit dem Git-Repository von src.selfhtml.org: Da sind vier Dateien, die aus Sicht eines case-insensitive Dateisystems doppelt existieren. Also, beispielsweise: Foo.txt und foo.txt. Dedlfix und ich konnten das bisher im Dialog nicht lösen, aber ich habe seitdem etwas am Netz gezupft.

Wenn ich das Repository stumpf clone, führt die Existenz von Foo.txt und foo.txt dazu, dass mir GIT STATUS die Datei Foo.txt als modified anzeigt. Das kann man beim Stagen zwar ignorieren, es ist aber ärgerlich.

Nun habe ich entdeckt, dass Windows im Rahmen von WSL (Windows Subsystem for Linux) die Option bekommen hat, ein Verzeichnis case-sensitive zu machen. Heißt: Man muss dieses Windows Feature aktivieren. WSL in Betrieb zu nehmen sollte nicht nötig sein - zumindest kann Windows nach Setzen des Schalters ordentlich zwischen foo.txt und Foo.txt unterscheiden.

fsutil file setcasesensitiveinfo D:/Projekte/SelfhtmlGit enable

Ordner, die danach in diesem Verzeichnis angelegt werden, erben dieses Flag. Nun noch GIT darüber belehren, um Missverständnisse zu vermeiden:

git config core.ignorecase false

Das habe ich sicherhalber vor dem Clone gemacht, auf globaler Ebene, denn das Flag ist zwar Default, aber ich wollte sichergehen und ich kann's ja nicht in die .git/config Datei hineineditieren, während der das Repository cloned. Eigentlich sollte git clone das auch per Probing feststellen, sagt die Doku, und das ist auch so. Wenn ich den fsutil-Befehl nicht verwende (bzw einen Zielordner nehme, für den case-sensitivity nicht gilt), schreibt er [core] ignorecase = true in die config-Datei.

Dann habe ich das Repository nach D:\Projekte\SelfhtmlGit geklont - und die vier Dateien sind immer noch sofort nach dem Clone modified. Ich habe sie separat über den Browser vom Server abgerufen - der Inhalt des Git-Checkout ist korrekt, und die Dateien stehen auch so da, wie sie sollten. Trotzdem meldet git status sie als modified.

Das ist git 2.32.0 - neuer gibt's nicht unter Windows.

Mach ich noch was falsch? Ich hab's mal als Bug eingetütet, da steht auch wie man es minimalistisch reproduziert, ohn das Self-Repo. Wäre schön, wenn jemand schafft, das zu reproduzieren.

Rolf

--
sumpsi - posui - obstruxi