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

RE: BUG: when performing a checkout use the cased url as in the download URL

From: Bolstridge, Andrew <andy.bolstridge_at_intergraph.com>
Date: Wed, 21 Jul 2010 17:58:23 +0100

> -----Original Message-----
> From: dave b [mailto:db.pub.mail_at_gmail.com]
> Sent: Wednesday, July 21, 2010 2:05 PM
> To: dev_at_subversion.apache.org
> Subject: Fwd: BUG: when performing a checkout use the cased url as in the
> download URL
>
>
> When performing a checkout use the cased url as in the download URL on
> windows.
> Ok I understand why this is not 'fixed'.
> However, the behaviour is imho plain *wrong* and breaks LOTS of use
> cases and existing repos.
> I have described the expected behaviour below as a story / feature
> request and how I think it should be fixed.
>
[snip]
>
> Yes I know this is caused by a problem in windows. However, it is no
> excuse to say "we told you so".

Considering Windows is case-insensitive, how do you expect to be able to see folder FOO and foo inside folder bar? I think you want the client tool (TortoiseSVN in this case) recognise the fact and rename one on the fly. You're setting yourself up for a world of confusion in these cases as you'll never know what a filename will be called when you come to checkout files - which one gets renamed? What if I happen to have a file called FOO_CONFLICT already?

There is only 1 solution on Windows: don’t have 2 files/folders called the same name in the same directory. The tools break no use-cases as it is impossible to have 2 files/folders of the same name in Windows.

There is one thing you forget - Tortoise has the (excellent) feature of being able to recognise that a file has had its case changed in the WC, and offers to change it back to the repository casing. This occurs every so often when a tool decides that lowercase names are best and rewrites a file. If you have 2 files differing only in case, how will Tortoise decide which one is which? If it leaves it as-is, will you expect a re-cased file to commit over the wrong file? Eg. I have foo.txt and FOO.txt in the repo, visual studio renames FOO.txt to be foo.txt, and I commit... I've just overwritten the wrong file! That's really not a good situation.

The only solution on Windows is to rename your files/folders. The only thing the SVN guys can do it make SVN case-insensitive too (which would be nice :) ) as I think filenames differing only in case is a bad practice in the first place.



Received on 2010-07-21 18:59:27 CEST

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