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

Re: svn ls bug in RC3

From: Peter N. Lundblad <peter_at_famlundblad.se>
Date: 2004-09-29 22:51:04 CEST

On Mon, 27 Sep 2004, Philip Martin wrote:

> SteveKing <steveking@gmx.ch> writes:
>
> > svn ls http://localhost/svn/test/testparent
> > returns
> > öäüÄÖÜ
> >
> > as expected. But an
> > svn ls http://localhost/svn/test/testparent/%f6%e4%fc%c4%d6%dc
> > returns
> > öäüÄÖÜ/
> > file1.txt
>
> There is an inconsistency with the alphabetic case used when URI
> encoding:
>
[...]
> strcmp will treat those URLs as different.
>
> Now Subversion's path.c:uri_escape() uses sprintf("%%%02X") so it should
> produce upper case, however the server sends lower case
>
[...]
> I'm not sure where that gets produced, but Apache's util.c:c2x() uses
> c2x_table[] = "0123456789abcdef" so it could be that.
>
> A quick fix might be to make Subversion use lower case, a less fragile
> fix would be to compare URLs using a function that handles escape
> sequences that differ in case.
>
I don't like comparing URLs using strcmp-like functions, since
URI-encoding differences can make this fail in many ways. Also, I don't
know WebDAV well enough to know if this proposal is acceptable. What about
counting the number of components in the returned URLs and skipping an URL
with as many components the input path? Does WebDAV guarantee that the
URLs of a collection have proper pathnames, i.e. collectionURL/name?

Any DAV-expert want to give an advice?
Regards,
//Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Sep 29 22:37:37 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.