[Cvsnt] Cvsnt case sensitive?

Brian Smith brian-l-smith at uiowa.edu
Wed Apr 24 18:58:09 BST 2002


Tony Hoyle wrote:
> Brian Smith wrote:
>
>> Well, there is the situation that I call my file "foo.java". It won't
>> compile because the Java compiler enforces it to be called "Foo.java" if
>> it contains a public class named "Foo". If I checked in the file as
>> "foo.java" then everybody is screwed unless I can somehow change it to
>> "Foo.java".
>>
>> This is the case with Windows clients as well.
>>
> If you look for a file 'Foo.java' on Windows you'll always see it
> because windows
> isn't case sensetive.  If the java compiler is enforcing case
> sensitivity beyond that it's a bug in that compiler, because on Windows
> it's not unusual to get dodgy case on files.

The Java compiler's checks on file name case are designed to allow us to
build platform-independent applications. For somebody new to Java, it
surely seems strange that "foo.java" doesn't mean the same thing as
"Foo.java" on Windows and Mac OS X, but the Javac compiler is just
checking to make sure that your program will compile the same way on
every platform that supports Java. For example, If my class is named Foo
and its in "foo.java", then on Solaris it will not compile correctly.
Javac on Windows goes through some extra effort to make sure you
recorgnize this problem. So, not to be cliche`, but really it is a
feature of javac and not a bug.

Actually, I thought that you (Tony) were working on a new "cvs rename"
or "cvs move" command? If so, it should be able to do this kind of
case-changing, since Windows is case-preserving even though it isn't
case-sensitive.

Until then, I recommend to the original poster that he makes sure that
his code compiles before he checks it into his CVS repository. That will
largely eliminate this problem (unless you change the case of your
actual classes) and people seem to find many other benefits with this
model as well.

- Brian

_______________________________________________
Cvsnt mailing list
Cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt



More information about the cvsnt mailing list