Hi, As per:
http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitive Cygwin act on filenames on NTFS in with case preservation/sensitivity. As this was a feature configured in the Windows kernel, the pre-existing limitation whereby the same case sensitivity was not available for FAT32 was an understandable compromise. Unfortunately, in providing EXFAT, Microsoft has not seen fit to carry over the same handling in the kernel as it does in NTFS. In my opinion, the knock on limitation in Cygwin for FAT32 was easy to accept as it was quite inferior to NTFS. The limitation with EXFAT is a little difficult to accept, and this is the motive behind this email. I don't expect much interest in this suggestion, but make it here to at least bring awareness to the problem. Can I suggest that if it is a) feasible b) doable without too much added degradation in performance/complexity to the file handling code, that Cygwin add some limited support itself. I'm not talking about going back to something like the old managed mounts, but more to its replacement function. That being the same handling of special characters like :, |, etc that Cygwin employs. That is, the use of the special Unicode breakout character. It can be used when a name collision is detected (yes, detection code required. I don't know how costly that would be). eg. Hello and HELLO, would end up with something like (posix=0 still required on mount): * Hello is created first. No Hello file preexists. * attempt to create HELLO * detect file exists as Hello, but filename not equal on case * detect first case equal character is H. * Use Unicode breakout on H in HELLO. * Unfortunately, will need to recurse (expensive) and redo checks above (with breakout) I haven't completely thought this through. And as I typed the above, it sounds expensive. However, I'd love to hear opinion on this anyway. Is the trade-off large enough to fall back on the "just use NTFS" argument? -- Thanks, Shaddy -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple