git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Demonstrate failure of 'core.ignorecase = true'

From
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Date
Mar 22, 2012, 20:53 UTC
Message-ID
<4F6B9160.1040300@in.waw.pl>
In-Reply-To
<7vk42cwew5.fsf@alter.siamese.dyndns.org>
On 03/22/2012 09:37 PM, Junio C Hamano wrote:
Show 18 quoted lines
> Zbigniew Jędrzejewski-Szmek<zbyszek@in.waw.pl>  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

Previous: Junio C HamanoNext: PJ Weisberg
Message 19 of 23 in “Demonstrate failure of 'core.ignorecase = true'”
  1. Demonstrate failure of 'core.ignorecase = true'Peter J. Weisberg, Mar 21, 2012
  2. Junio C HamanoMar 21, 2012
  3. PJ WeisbergMar 22, 2012
  4. Junio C HamanoMar 22, 2012
  5. Thomas RastMar 23, 2012
  6. Junio C HamanoMar 23, 2012
  7. Jeff KingMar 23, 2012
  8. Jeff KingMar 23, 2012
  9. Johannes SixtMar 22, 2012
  10. Zbigniew Jędrzejewski-SzmekMar 22, 2012
  11. Jeff KingMar 22, 2012
  12. Junio C HamanoMar 22, 2012
  13. Jeff KingMar 22, 2012
  14. Junio C HamanoMar 22, 2012
  15. Jeff KingMar 22, 2012
  16. Junio C HamanoMar 22, 2012
  17. Zbigniew Jędrzejewski-SzmekMar 22, 2012
  18. Junio C HamanoMar 22, 2012
  19. Zbigniew Jędrzejewski-SzmekMar 22, 2012
  20. PJ WeisbergMar 22, 2012
  21. Junio C HamanoMar 22, 2012
  22. Jeff KingMar 22, 2012
  23. Junio C HamanoMar 22, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.