On Wed, Nov 05, 2003 at 10:11:45AM -0500, Jim.Hyslop wrote: > >It sounds like I'm going to be the sole dissenting voice here, at least so >far. Let me explain my reasoning; it will be rather round-about, but please >bear with me. It will (I hope) make sense in the end.
<snip> >A file name is a label that a human applies to a particular entity called a >"file". As I said earlier, case distinction in labelling entities is >irrelevant. Case-preserving, case-insensitive file systems are, in my >opinion, the correct way to model the world. In this respect Bill Gates >actually did something *right* with Windows (let's not go into the myriad >ways he went wrong - that's a whole other troll^H^H^H^H^H rant). The problem with mixing case-sensitivity in this way is that it's just about impossible to get right. The amount of work involved to do it completely (and correctly) is horrendous. If you want an example, look at the work the Samba team have to do to try and present a case-insensitive view of a case-sensitive file system. And then consider the whole gamut of different character sets and encodings out there. Some systems do not have a one-to-one mapping from upper to lower case and vice versa. If you want to do case-insensitivity properly, it needs to be done all the way down. Anything else is a grievous hack... >As you have probably gathered, my background is almost entirely >Windows-based. In case-sensitive (i.e. Unix) systems, what is the generally >accepted practise with respect to naming files: is it generally considered >bad practise to have two files with the same name, that differ only by case, >in the same directory? My understanding is that the common practise on Unix >is to use all lower-case names, to avoid potential confusion. Sounds to me >like this is a manually-operated (and therefore error-prone) convention >imposed in order to have, effectively, a case-insensitive, case-preserving >file naming system ;-) No, not at all. For example, of the 111 items in my home directory right now, 17 of them use upper-case letters in a meaningful way. Common practice is to name some things on Unix in a mixture of cases, e.g. Makefile, Imakefile, ChangeLog. >Let's build software that works the way people expect. On a >case-insensitive, case-preserving file system such as Windows or (I believe) >Mac OS, that means making the program smart enough to realize that "cvs rlog >myproject" also means "cvs rlog MyProject". If you put it in, you >unfortunately won't get a lot of Windows users saying "thank you for making >it match the case", but if you leave it out you might get a lot of Windows >users saying "WTF? Why am I getting an error with 'cvs rlog myproject'? >Whaddya mean it's case-sensitive?!? What a stupid program!!" Another point I'd like to make: labels are case-sensitive already. Live with it. Most of the Mac/Windows people who will ever have to cope with cvs on their platform not being case-insensitive are going to be programmers _anyway_. And you sure as hell cannot go randomly mixing case in C/C++/Java source code! The only non-programmers I've ever seen using CVS on Windows were using a pretty GUI front-end which would hide all the details from them anyway and would get the case correct by default. >It won't be easy, and I'm sure the problem is rather complex, but I truly >believe the end results *will* be worth the extra effort involved. And I'd strongly recommend losing the current set of kludges that we have that only cause confusion. -- Steve McIntyre, Cambridge, UK. [EMAIL PROTECTED] Is there anybody out there?
pgp00000.pgp
Description: PGP signature
_______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
