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

Re: [PATCH 0/6] Extensions of core.ignorecase=true support

From
Johannes Sixt <j6t@kdbg.org>
Date
Aug 18, 2010, 18:31 UTC
Message-ID
<201008182031.10197.j6t@kdbg.org>
In-Reply-To
<AANLkTi=Fkj-_-wHZN4GY2b+2n0mk7MKV=au0Hm4B+i9d@mail.gmail.com>
On Mittwoch, 18. August 2010, Robert Buck wrote:
> So apparently when core.ignorecase=true, this really means
> casepreserving=false, casesensitive=true.

No. When an entry enters the index from the worktree, an existing entry is reused and the index entry's case is preserved, where existence is determined in a case-insensitive manner[*]; if the entry is new, the case is preserved.

In the oppsite direction, case preservation depends entirely on the capabilities of the file system.

[*] The new part of this series is that this case-insensitive existence test happens on for the entire path, and not just the file name part.

Show 5 quoted lines
> So what I am hearing is that unless one sets core.ignorecase, in mixed
> environments you are in for a world of hurt; you'd end up with Foo and
> foo from the Unix side of the house, and on Macs or Windows the last
> file materialized from the index or repository into the working
> directory would clobber the first one materialized,

core.ignorecase is not designed to help this case. It is a "Doctor, it hurts when I poke myself in the eye" problem. Don't have both foo and Foo in your repository if you go cross-platform. The git repository format is not designed to treat them as identical, and no configuration option alters this.

-- Hannes
Previous: Robert BuckNext: Junio C Hamano
Message 25 of 26 in “Extensions of core.ignorecase=true support”
  1. 0/6 Extensions of core.ignorecase=true supportJohannes Sixt, Aug 16, 2010
  2. 1/6 Add string comparison functions that respect the ignore_case variable.Johannes Sixt, Aug 16, 2010
  3. Ævar Arnfjörð BjarmasonAug 18, 2010
  4. Ævar Arnfjörð BjarmasonAug 18, 2010
  5. Joshua JensenAug 18, 2010
  6. Ævar Arnfjörð BjarmasonAug 18, 2010
  7. Johannes SixtAug 18, 2010
  8. Ævar Arnfjörð BjarmasonAug 18, 2010
  9. Ævar Arnfjörð BjarmasonAug 29, 2010
  10. Joshua JensenAug 30, 2010
  11. Ævar Arnfjörð BjarmasonAug 30, 2010
  12. Jonathan NiederAug 30, 2010
  13. Jonathan NiederAug 30, 2010
  14. Johannes SixtAug 30, 2010
  15. Ævar Arnfjörð BjarmasonAug 30, 2010
  16. Johannes SixtAug 30, 2010
  17. 2/6 Case insensitivity support for .gitignore via core.ignorecaseJohannes Sixt, Aug 16, 2010
  18. 3/6 Add case insensitivity support for directories when using git statusJohannes Sixt, Aug 16, 2010
  19. 4/6 Add case insensitivity support when using git ls-filesJohannes Sixt, Aug 16, 2010
  20. 5/6 Support case folding for git add when core.ignorecase=trueJohannes Sixt, Aug 16, 2010
  21. 6/6 Support case folding in git fast-import when core.ignorecase=trueJohannes Sixt, Aug 16, 2010
  22. Robert BuckAug 17, 2010
  23. Johannes SixtAug 17, 2010
  24. Robert BuckAug 18, 2010
  25. Johannes SixtAug 18, 2010
  26. Junio C HamanoAug 22, 2010

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.