delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:message-id:date:from:mime-version:to:subject | |
:content-type:content-transfer-encoding; q=dns; s=default; b=A1d | |
sBsYBlMjJZNPNjACnlUaTRTtBzo25LEw1lhmlpYLslgha9yfwHH8Q7sGK3/Un7Q/ | |
lMVn+HM8lk5SP5Q/HxPJfivbMZOxBf3GupUEPFbhwJyd4HIQv3LNj4sS8geiWtpq | |
aXHAIyEqee/wvPNpGDg47Xp8TRESKAFiiSuIritA= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:message-id:date:from:mime-version:to:subject | |
:content-type:content-transfer-encoding; s=default; bh=5WQ5Bs4zp | |
4F2aRE1W5MeScGvZgo=; b=dVaDdOY9PtqBVAtYg837i256klKO3dmgk/c2pbcwi | |
eRsZ4hW/Sa0jm9Mr186+Gmw3i98w329klQjEoRPwJ6UVZYmZSXgP8eG3DOOiROvq | |
v2mdUzrvqKBRUVjAc2vsdxtpViwNWP6XHBlBCdEq6sWxx9sIJNwtgMISgaEJh5kt | |
rA= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
X-Spam-SWARE-Status: | No, score=0.1 required=5.0 tests=AWL,BAYES_50,FROM_12LTRDOM,RCVD_IN_HOSTKARMA_NO,RCVD_IN_HOSTKARMA_YE,RCVD_VIA_APNIC,RDNS_NONE autolearn=no version=3.3.1 |
Message-ID: | <51FB56D0.4040609@shaddybaddah.name> |
Date: | Fri, 02 Aug 2013 16:50:56 +1000 |
From: | Shaddy Baddah <lithium-cygwin AT shaddybaddah DOT name> |
User-Agent: | Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130704 Icedove/17.0.7 |
MIME-Version: | 1.0 |
To: | cygwin AT cygwin DOT com |
Subject: | Case sensitive filenames for non-NTFS filesystems |
X-Optus-CM-Score: | 0 |
X-Optus-CM-Analysis: | v=2.1 cv=Yos2GeoX c=1 sm=1 tr=0 a=RkPObcNqpdaXDoCDBSw5Xw==:117 a=RkPObcNqpdaXDoCDBSw5Xw==:17 a=PO7r1zJSAAAA:8 a=fUdQyOyA9-cA:10 a=jV5JwyHGKuoA:10 a=8nJEP1OIZ-IA:10 a=bsUcx-BPE-kA:10 a=w_pzkKWiAAAA:8 a=v-_s_V6svQ6fPXEYb5gA:9 a=wPNLvfGTeEIA:10 a=zvuQ_vupYScA:10 |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |