Re: Renaming files on win32

Philip Martin <[email protected]>
Newsgroups gmane.comp.version-control.subversion.devel,gmane.mail.eyebrowse.user
Message-ID <[email protected]>
"Gili" <[email protected]> writes:

> On Thu, 23 Dec 2004 02:38:46 +0100, [email protected] wrote:
>
>>Gili wrote:
>>
>>Because different languages don't always agree about a) which letters 
>>are uppercase and which are lowercase, and b) how to convert from one to 
>>the other.
>>
> 	So how could Java possibly implement Character.isLowerCase()?
> Something does not make sense here. That method claims to indicate if a
> character is lowercase in absolute terms.

It's easy to classify characters as uppercase or lowercase, what's
impossible to determine is which uppercase character corresponds to
any given lowercase character or vice versa.  Which lowercase
character corresponds to the uppercase character 'I'?  In an en_US
(english) locale the answer is 'i' but in tr_TR (turkish) the answer
is 'ý'.

Unicode provides caseless matching
http://www.unicode.org/reports/tr21/tr21-5.html#Caseless_Matching in
which two characters are compared by converting both of them to a
canonical form.  Can Subversion use that?  I don't know, it doesn't
make sense to do it if Windows (or OSX) does something different.  I
don't even know if Windows and OSX have exactly the same behaviour as
each other, let alone whether they implement Unicode rules.

As far as I can see the only sensible way for Subversion to handle
case-insensitivity is for it all to happen client-side and for the
client to use the OS to determine whether two filenames refer to the
same file.

-- 
Philip Martin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.