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

Re: svn commit: r36202 - trunk/subversion/libsvn_ra_serf

From: Greg Stein <gstein_at_gmail.com>
Date: Sat, 28 Feb 2009 12:10:16 +0100

On Sat, Feb 28, 2009 at 11:51, Bert Huijben <bert_at_vmoo.com> wrote:
>> -----Original Message-----
>> From: Greg Stein [mailto:gstein_at_gmail.com]
>> Sent: Saturday, February 28, 2009 9:48 AM
>> To: dev_at_subversion.tigris.org
>> Subject: Re: svn commit: r36202 - trunk/subversion/libsvn_ra_serf
>> Eh? Aren't all parameters *supposed* to be canonical URLs to start
>> with? (just like all paths)
>> Or do we say that paths/urls are internal-format, but not necessarily
>> canonical?
> No, we do say that they must be canonical.
> But the urls we receive from apr / mod_dav_svn over the network are not :(

Ah! Yes, true.

> What I did was updating the code to make sure they are now.
> E.g. from property.c in this patch
>> > -      basecoll_url = apr_psprintf(pool, "%s/%ld/",
>> > +      basecoll_url = apr_psprintf(pool, "%s/%ld",
>> >                                   session->rev_root_stub, revision);
> Generated a non canonical url that just happened to work correctly with the old code that recanonicalized before joining.

Woah. Wait a sec there.

There *is* a difference between http://example.com/foo and
http://example.com/foo/. Those are *two* difference resources. We have
to be able to generate the latter, which will generally happen with
svn_uri_join(base, ""). That trailing slash better be in the result.

> And almost every property returned from mod_dav_svn has a final '/' too :(

Because they are *supposed* to be there. Again, the trailing slash
refers to a different resource.


Received on 2009-02-28 12:10:31 CET

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.