Am Mi., 14.Juni.2023 um 15:10:50 schrieb Eryk Sun:
On 6/14/23, Inada Naoki via Python-list <python-list@python.org> wrote:
Since Git enables Windows NTFS case sensitivity while checking out sources

I didn't know that. Would you give us a link to this feature?
As far as I know, `git config core.ignorecase` doesn't mean NTFS case
sensitive.

If a repo is cloned into a case-insensitive directory, then
core.ignorecase should be enabled automatically. If a repo is cloned
into a case-sensitive directory, then core.ignorecase should not be
enabled automatically.

I searched through relevant issues on the Git for Windows repo on
GitHub, and I found nothing to indicate that a capability to
automatically enable NTFS case sensitivity has been added. I searched
through the source of Git and Git for Windows, and I didn't find any
references to WinAPI SetFileInformationByHandle: FileCaseSensitiveInfo
or NTAPI NtSetInformationFile: FileCaseSensitiveInformation, nor the
use of fsutil file setCaseSensitiveInfo.

In this case: not sure what is going on. In a git-shell on Windows:
If caseSensitiveInfo is disabled:
user@host MINGW64 ~/K
$ fsutil file queryCaseSensitiveInfo .
Das Attribut für Groß-/Kleinschreibung für das Verzeichnis
"C:\Users\user\K" ist deaktiviert.

$ git config --global -l
core.ignorecase=true

$ git clone https://github.com/python/cpython.git
Cloning into 'cpython'...
remote: Enumerating objects: 956870, done.
remote: Counting objects: 100% (1304/1304), done.
remote: Compressing objects: 100% (801/801), done.
Receiving objects: 100% (956870/956870), 557.02 MiB | 9.75 MiB/s, done.55566

Resolving deltas: 100% (760802/760802), done.
Updating files: 100% (4488/4488), done.

$ find . -type d -exec fsutil.exe file queryCaseSensitiveInfo {} \;
does not show any directory having caseSensitiveInfo enabled.

If caseSesitiveInfo is enabled:
user@host MINGW64 ~/K
$ fsutil file queryCaseSensitiveInfo .
Das Attribut für Groß-/Kleinschreibung für das Verzeichnis
"C:\Users\user\K" ist aktiviert.

$ git config --global -l
core.ignorecase=true

$ git clone https://github.com/python/cpython.git
Cloning into 'cpython'...
remote: Enumerating objects: 956870, done.
remote: Counting objects: 100% (1304/1304), done.
remote: Compressing objects: 100% (801/801), done.
Receiving objects: 100% (956870/956870), 557.02 MiB | 9.75 MiB/s, done.55566

Resolving deltas: 100% (760802/760802), done.
Updating files: 100% (4488/4488), done.

$ find . -type d -exec fsutil.exe file queryCaseSensitiveInfo {} \;
All directories created by git have caseSensitiveInfo enabled.

core.ignorecase is not regarded in any way. It does not mater if it is set or not.

--
Thomas

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to