bcpierce00 / unison

Unison file synchronizer
GNU General Public License v3.0
4.19k stars 235 forks source link

Improve "ignorecase" preference #1062

Open gdt opened 1 month ago

gdt commented 1 month ago

Unison has a preference "ignorecase" which has three values:

The problem is that case sensitive vs case preserving vs case insensitive is not a property of an operating system, but of filesystems. One can have a proper filesystem on macOS, and my impression is that this is possible on modern MS Windows too (although I've avoided Windows enough not to know). One could mount FAT on Unix, too. Even harder to deal with is a replica which contains a mount to a different kind of filesystem, so that e.g. part of the replica is case sensitive and part is case preserving.

I don't immediately see any way to improve this without massive complexity, testing each directory and storing metadata. Brainstorming on unison-hackers@ please; this ticket is here to document that the problem is understood.

See also #298, which essentially complains that the error message "on a case-sensitive system" should be "on a file system being treated as case-sensitive".