Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3973D32D.5D3E05D3@ece.gatech.edu> Date: Mon, 17 Jul 2000 23:46:53 -0400 From: Charles Wilson X-Mailer: Mozilla 4.73 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: David Starks-Browning CC: cygwin AT sourceware DOT cygnus DOT com Subject: Re: Using mixed case filenames References: <4 DOT 3 DOT 2 DOT 7 DOT 2 DOT 20000705101624 DOT 00bc19d0 AT pop3 DOT larural DOT es> <39633F6B DOT 8F29E985 AT ece DOT gatech DOT edu> <627-Mon17Jul2000214808+0100-starksb AT ebi DOT ac DOT uk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit David Starks-Browning wrote: > > On Wednesday 5 Jul 00, Charles Wilson writes: > > The mixed option existed briefly in a custom version of cygwin1.dll. > > Sergey Okhapkin had developed a patch for that, and his 'coolview' > > version of the B20.1 cygwin1.dll was distributed on his web page. It was > > not official, nor was it supported by Cygnus. > > > > The mixed option doesn't exist in the more recent cygwin's. If you would > > like to 'roll your own', you could get Sergey's patch, update it to > > apply to the 1.1.x cygwin source code, and build your own dll. However, > > I don't think that option will be supported by the mainstream kernel, > > since it leads to a lot of undesirable behavior on Windows. > > There is already an entry in the FAQ, "Are mixed-case filenames > possible with Cygwin?" I'll remove the disclaimer about it not being > updated for the current release, but it doesn't currently say anything > about Sergey's coolview patch. Would it be wise to explain this in > the FAQ? I think so -- and a little information about exactly *what* Windows problems are cause by mixed-case filenames; otherwise we'll have a new FAQ. :-) As I understand it, the windows file systems (NTFS-NT4.0, NTFS-W2K, and VFAT) are case-preserving. The windows file-access API, *as used by windows programs such as explorer and cmd.exe/command.com* is case insensitive. However, there is no reason one could not access the filesystem, which is case-preserving, and implement case-*SENSITIVITY* within a proprietary API. Such as POSIX. Guess what! Cygwin implements POSIX which defines its own file access API! So, the 'mixed' option made use of the case-preserving aspect of the underlying filesystem, and added case-sensitivity when using POSIX API calls to access it. Thus, you could, *from within cygwin programs*, create, edit, delete, and otherwise manipulate files on the windows filesystems, with perfect case-sensitive behavior -- just like unix. However, these files looked a bit different when viewed from standard Windows programs. Since explorer/MSWord/cmd.exe/whathaveyou are NOT case-sensitive, they cannot distinguish between two otherwise identically-named files that differ only in case. So, one file hides the other, or the short-names get hosed or cross-linked, all kinds of crazy things may happen. Thus, it was deemed better to abide by the least-common-denominator of the windows/cygwin platform, and eliminate case sensitivity from cygwin in B16. Now, Sergey Okhapkin maintained a mixed-case patch until about B20.1, for those who wished to use it. It has not been updated to CygwinCD(V1.0) or (netrelease)V1.1.0 or later. --Chuck -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com