delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/07/17/23:44:51

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
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 <cwilson AT ece DOT gatech DOT edu>
X-Mailer: Mozilla 4.73 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: David Starks-Browning <starksb AT ebi DOT ac DOT uk>
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>

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019