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.
Cheers,
-g
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1244112
Received on 2009-02-28 12:10:31 CET