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
> 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