Unison has a preference "ignorecase" which has three values:
false: treat filenames normally, in that filenames differing in case are different
true: when comparing filenames, ignore case
default: false on most operating systems, and true on those known to have case-insensitive or case-preserving filesystems
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".
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".