On 03/22/2012 09:37 PM, Junio C Hamano wrote:
Zbigniew Jędrzejewski-Szmek<zbyszek@xxxxxxxxx> writes:
Even this updated text does not say _what_ happens when
core.ignorecase is set on a case-insensitive filesystem.
That was very much on purpose. We tell users not to do that, because it is
calling for an undefined behaviour. And leaving it undefined gives us a
wiggle room to later do something better if we choose to.
Maybe:
--- 8< ---
When set, case-insensitive comparisons will be used when internally
comparing file names.
When we try to create a new file with open("./Makefile", O_CREAT) system
call, we do not opendir(".") and readdir() to see if "makefile" exists
ourselves at all, but the above makes it sound as if we would do such
things to make sure we compare filenames ignoring there case.
Hence "internally" -- in the sense that filesystem calls are executed
by the OS, so they can be said to be external to git. Maybe this could
be worded differently.
That is *not* what happens, and that is not what we want to say in the
documentation.
Yeah, but we should say *something*, to let the reader understand
the behaviour.
For example, the reader should understand, that "work arounds"
implemented by git do not include the normalization of filenames,
and if files are added with bad capitalization, they will stay that way
on case sensitive filesystems.
-
Zbyszek
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html