Re: [PATCH 1/2] init-db.c: honor case on case preserving fs
From: Dmitry Potapov <hidden>
Date: 2016-06-15 22:59:47
On 2/2/14, Reuben Hawkins [off-list ref] wrote:
quoted
This is a separate issue which core.ignorecase is sweeping under the rug. When you get this error message, do an 'ls' and you'll see there isn't an untracked file called 'FileName.txt'. There is, however, a tracked file called 'Filename.txt'. Because there aren't really any untracked files, the merge should be able to complete without overwriting anything.
I am afraid but it is exactly the same issue, because it never happens on any case-sensitive system. IIRC, Git stats 'FileName.txt' to verify whether it exists or not, and the file system tells that this file exists, because it ignores case. So the option is called 'ignorecase'. No one meant this option to be about whether the file system preserves case or not, because Git does not care about it and assumes that on any case-insensitive filesystem, the right case is in the index, which is usually better, because otherwise people can often change filenames inadvertently. I don't know much about importers, but I have looked at the source code of fast-import.c and I do not see ignore_case there, though it may affect it indirectly through some functions that it uses. AFAIK, fast-import does not rely on the filesystem, it should always work with ignorecase=false. Dmitry