You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by si <ss...@gmail.com> on 2006/05/16 03:12:24 UTC

URL case insensitivity vs SVN case sensitivity

Hello,

One of our developers stumbled across an interesting issue where he
capitalised the repository name for a checkout when he shouldn't have.

Both the Subversion command line tool and TortoiseSVN perform the
checkout, and both failed on the commit.  It's worth noting that you can
only supply incorrect case on the server and repository name in the URL,
you can't supply incorrect case in the repository path.

Using svn 1.3.1, the error returned was:
svn: Commit failed (details follow):
svn: Authorization failed

Using TortoiseSVN 1.3.3, there was no error message other than:
Error    Commit failed (details follow):


I'm assuming the issue is a conflict due to the URL being case
insensitive, as per RFC 1738, and Subversion being case sensitive.

The developer was able to fix the problem by performing a relocate,
a switch was insufficient.

Would (or should) it be possible to provide a warning when performing
a check out when there is a case conflict?  Similar to the warning the
svn command line client gives when you add a path which already
exists with a different case.

Or should it have been possible for the developer to commit?
(After all, it let him checkout)

We're using Subversion 1.3.1 accessed via ra_svn with authorization
enabled.

peace
si

p.s happy to file as an issue if the hive mind deems it useful.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: URL case insensitivity vs SVN case sensitivity

Posted by si <ss...@gmail.com>.
> > I'm assuming the issue is a conflict due to the URL being case
> > insensitive, as per RFC 1738, and Subversion being case sensitive.
>
> Who says http URLs are case insensitive?  RFC 1738 doesn't actually talk
> about case sensitivity except for the scheme (http vs HTTP), unless
> I missed something.  Hostnames are generally case insensitive due to
> DNS's insensitivity.  Everything else is case sensitive as far as I know,
> though the server could consider things insensitivly if it wants to.

Oh, okay, I mis-read the RFC, my apologies.

After trying to create a test recipe with ra_local I couldn't
get it to fail on case insensitivity, so I tested with ra_svn
and it apears to be due to the authz file.

For a repository called 'repos'

With svnserve.conf set as
[general]
anon-access = none
auth-access = write
authz-db = authz


Checkout succeeds with URL svn://localhost/REPOS
when authz is set as
[/]
* = rw

or authz is set as
[repos:/]
* = rw

or authz is set as
[REPOS:/]
* = rw


And commit works if authz is set as
[/]
* = rw

or authz is set as
[REPOS:/]
* = rw


But commit fails when authz is set as
[repos:/]
* = rw

So unless I've stuffed up (again:) it looks like the read is performing
differently to the write, even though they're assigned the same way.

For what it's worth, commit also fails when authz is set as
[repos:/]
* = rw
[REPOS:/]
* = rw

But succeeds when authz is set as
[REPOS:/]
* = rw
[repos:/]
* = rw

This may not be worth fixing, but the problem had us stumped for a while.
(can checkout, can't commit)

peace
si

p.s. this is on windows, haven't tested on linux.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: URL case insensitivity vs SVN case sensitivity

Posted by Theo Van Dinter <fe...@kluge.net>.
On Tue, May 16, 2006 at 12:42:24PM +0930, si wrote:
> I'm assuming the issue is a conflict due to the URL being case
> insensitive, as per RFC 1738, and Subversion being case sensitive.

Who says http URLs are case insensitive?  RFC 1738 doesn't actually talk
about case sensitivity except for the scheme (http vs HTTP), unless
I missed something.  Hostnames are generally case insensitive due to
DNS's insensitivity.  Everything else is case sensitive as far as I know,
though the server could consider things insensitivly if it wants to.

-- 
Randomly Generated Tagline:
(talking to the Beastie Boys) 
 Fry: Wow. I love you guys. Back in the 20th century, I had all five of
  your albums.
 Ad-Rock: That was a thousand years ago. Now we got seven. 
 Fry: Cool. Can I borrow the new ones. And a couple of blank tapes?