[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Case sensitivity bug in windows with powershell.

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Mon, 12 Nov 2012 14:26:05 +0100

On Mon, Nov 12, 2012 at 2:03 PM, Sebastian Andersson <bofh69_at_gmail.com> wrote:
> On Mon, Nov 12, 2012 at 1:13 PM, Johan Corveleyn <jcorvel_at_gmail.com> wrote:
>> Hm, I don't see this problem with "cd" in cmd.exe.
>
> No, the problem is only with powershell, but I do believe powershell
> does what it is designed to do in this case. It uses a unified
> location system for more things than just filesystems (you can cd into
> the registry, LDAP etc) and some of them are case sensitive so it
> preserves the user's typed string. The problem is also with the
> Set-Location cmdlet, the old, default "cd" command in powershell.
>
> Powershell contributes to this problem a bit more; in powershell you
> can tab-expand the path names. If you just tab-expand one directory at
> a time, it changes to the correct case of it. But if you write two
> directories at once (ie apa\Banana), only the second directory gets
> changed into the correct case. With a longer path and a single letter
> with the incorrect case, then it is of course a lot less obvious what
> is wrong.
>
>
> From a usability point of view, this should be fixed in subversion as
> windows (and most OSX users) expect that the file names should be case
> insensitive and other uses of subversion work correctly when the wrong
> case is used, ie:
> PS C:\temp\WC> svn mkdir APA
> A APA
> PS C:\temp\WC> svn mkdir apa\banan
> A APA\banan
>
> At the very least the error message should suggest a fix.

OK, I see.

I still find the behavior of Powershell pretty strange here. You say
that it "preserves the user's typed string", but I do not agree with
that: it ignores the casing that's present on disk, and that should be
the casing that's preserved and shown everywhere. At least that's my
opinion. If it would *really* preserve the user's typed string, then
it should say "apa does not exist" (as with a case-sensitive
filesystem). If Set-Location(Ex) would be consistent with all other
Windows tools, and with the behavior you actually want from
subversion, then it would say "OK, I'm case-insensitive here, the user
asks for apa, but there is APA on disk, so the user means APA, so I'll
act on APA -> c:\temp\WC\APA".

But anyway, we probably can't do anything about that Powershell
behaviour, and perhaps it's possible to work around that from within
subversion. So please go ahead and file an issue for this.

-- 
Johan
Received on 2012-11-12 14:27:02 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.