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

Re: Renaming files on win32

From: Gili <junk_at_bbs.darktech.org>
Date: 2004-12-22 21:37:58 CET

On Wed, 22 Dec 2004 20:16:08 +0100, Erik Huelsmann wrote:

>> >The thread is about renaming on case-preserving case-insensitive
>> >filesystems. Does anyone disagree that such an operation should work
>> >as expected by users of those filesystems? We really didn't need for
>> >the discussion to go on for so long. We all know that there are
>> >incompatibilities between the two systems, those have to be dealt with
>> >regardless... but the rename operation should "just work" if there is
>> >no conflicting file already in the repository.
>>
>> +1 for solving use-cases we know should just work and moving on
>> to edge cases later on.
>
>What's your proposal?

        The server should store all paths in a case-sensitive manner.
All clients (regardless of the platform) should be aware of concerns on
other platforms and warn the user when necessary at commit time or
checkout time. To override these warnings/errors, one could add a
properties to the repository (on the server) which indicate if it is ok
to disable some of the warnings. That is, if I commit two files "AB"
and "ab" into a normal repository into the same directory, the client
should warn me this might cause problems on case-insensitive platforms.
If I then try checking out file "ab" under win32 but the server
contains both "ab" and "AB" it should give me a warning about the other
varient's existance. If under win32, I try checking out "aB" but both
"ab" and "AB" exist, it should fail with an ERROR stating such a
varient does not exist, but "ab" and "AB" do. If there is only one
varient on checkout, the win32 client should be smart enough to realize
that casing does not matter (but it should retain the server filename
casing on checkout).

        Now, if the server has the property:
"all-clients-case-sensitive" set to true, then unix commits of the two
different files that differ only by filename casing will not display a
warning. If "all-clients-case-insensitive" is set to true, the unix
commits will get an error.

        This covers all major cases off the top of my head. What do you
think?

Gili

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Dec 22 21:41:30 2004

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

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