On Tue, Jun 14, 2022 at 8:22 AM Tao Klerks <tao@xxxxxxxxxx> wrote: > > > New patch coming. > Quick update on this - while exploring test scenarios I found an edge-case where these changes *seem* to introduce a regression. The probably-problematic behavior is that if there is a differing-in-case-only (case-insensitive duplicate) file (with different content) in the index, but obviously not on the filesystem as the case-insensitive filesystem can't allow both files to exist, the "git apply --index" of a case-only rename from the original filename to the "duplicate" filename will replace that duplicate file in the index, replacing its original content. With these changes, the rename of a file can, under very specific circumstances, cause a "rename" patch to replace/delete unrelated data in a staged-only (and maybe also committed) file. I need to do more testing to understand the relationship between this behavior and similar scenarios in, for example, git checkout. The current patch can be found at https://github.com/gitgitgadget/git/pull/1257, but I'm not sure when I'll have time to investigate further, settle whether this is a (meaningful) regression or not, think about how to address it if so, and submit a v2 :(