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

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

From: dave b <db.pub.mail_at_gmail.com>
Date: Wed, 21 Jul 2010 23:04:33 +1000

As per Ulrich Eckhardt's email recommendation I have forwarded this
email (bug) to svn.

---------- Forwarded message ----------
From: dave b <db.pub.mail_at_gmail.com>
Date: 21 July 2010 17:19
Subject: BUG: when performing a checkout use the cased url as in the
download URL
To: users_at_tortoisesvn.tigris.org

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.

Story:
 As a end windows user
 I want to use svn like I do on linux
 So that I can use VCS and profit through having history!

Background:
 Given there exists a repository at http://example.com/svn/bar

Scenario: Conflicting folder names
 And I have a folder called foo and FOO
 And I have a file called bar in FOO
 And I have a file called baz in foo
 When I checkout the repository
 Then I should see foo or foo_Conflict
 And I should see FOO or FOO_Conflict

Scenario: following from the above scenario - when I commit a change
to baz in FOO or FOO_Conflict
 When I make "baz" in FOO or FOO_Conflict only contain "abc123"
 And I commit the changes
 And I push the changes to master
 Then I checkout the directory on linux
 I should see only the directories FOO and foo
 And that the file baz  only contains "abc123"

Scenario: I rename folder B to be Folder b.
 Given there is a folder B
 And on linux I rename the folder to 'b'
 And I have no changes in B
 Then I should see that B is moved to be folder B_TEMP
 Then I should see that B_TEMP is changed to 'b'

Scenario: I rename folder B to be Folder b. With a conflict
 Given there is a folder B
 And on linux I rename the folder to 'b'
 And I have changes that conflict in B with the master repository
 Then I should see a message that B has been renamed to B_TEMP so I
can review the changes and fix the conflicts
 When I fix the conflicts and or merge with the master repository
 Then I should see that B_TEMP doesn't exist
 And b exists

Essentially:
I think that tortoisesvn should keep an internal copy of the conflict
and if there is a rename and an internal note of this occurring. After
when merging on a conflict which includes a case sensitive change, a
temporary folder is created and then this can be used to fix the
conflicts and merge with, this folder will then be changed to match
the existing name. Also, where appropriate the user SHOULD be notified
of what has occurred and WHAT will happen IF they commit.

At all times tortoisesvn should attempt to use the filename as per the
url on the download.

Yes I know this is caused by a problem in windows. However, it is no
excuse to say "we told you so".
Received on 2010-07-21 18:00:42 CEST

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