> -----Original Message----- > From: Bert Huijben [mailto:b...@qqmail.nl] > Sent: maandag 9 november 2009 10:05 > To: 'William A. Rowe, Jr.' > Cc: 'Philip Martin'; 'Bert Huijben'; dev@apr.apache.org; > d...@subversion.tigris.org > Subject: RE: Windows drive letter check fails on lower case cwd > > > -----Original Message----- > > From: William A. Rowe, Jr. [mailto:wr...@rowe-clan.net] > > Sent: maandag 9 november 2009 4:25 > > To: Bert Huijben > > Cc: 'Philip Martin'; 'Bert Huijben'; dev@apr.apache.org; > > d...@subversion.tigris.org > > Subject: Re: Windows drive letter check fails on lower case cwd > > > > Bert Huijben wrote: > > > > > > The drive letters don't have locales; the rest of the paths have. > > There are > > > only 26 driveletters with the US-ASCII characters A-Z. (Internally > > always > > > represented by the upper case letters, but the current path can use a > > lower > > > case path, as that is only managed in userspace). > > > > That's an odd statement; all paths are Unicode ;-) We don't strcasecmp > > paths. > > s/path/drive in its path/ for that last path.. thanks :) > > Paths are (of course) unicode, but use a some culture sensitive compare to > handle the case insensitivity. But there is no documented way to find which > locale it uses for each (part of a) drive. > (That information is stored in the system portion of NTFS at format time and > can vary over directories via junctions, etc.) > > Thanks for looking into this.
After some delay I created a new patch with the suggested changes and a testcase for inclusion in the apr testsuite. (Note that the test can falsely succeed if your test environment is on C:) I tested this patch on the 1.4.x branch and 1.3.x, but created the patch based on trunk. (The visual studio projects don't include the expat build, but it is required for a successful compilation). As noted earlier, this issue will be experienced by far more users once Subversion 1.7 is released, so it would be nice if it is backported to the relevant releases. Bert
lowercase_drive_merge.patch
Description: Binary data