I think the document that I'd read previously was this:
http://svn.apache.org/repos/asf/subversion/trunk/notes/http-and-webdav/http-protocol-v2.txt
In particular, this section:
ra_serf will send an OPTIONS request when creating a new
ra_session. mod_dav_svn will send back what it already sends now,
but will also return new information as custom headers in the
OPTIONS response:
SVN-Youngest-Rev: REV
SVN-Me-Resource: /REPOS-ROOT/!svn/me
Additionally, this response will contain some new URL stub values:
SVN-Rev-Stub: /REPOS-ROOT/!svn/rev
SVN-Rev-Root-Stub: /REPOS-ROOT/!svn/rvr
SVN-Txn-Stub: /REPOS-ROOT/!svn/txn
SVN-Txn-Root-Stub: /REPOS-ROOT/!svn/txr
SVN-VTxn-Stub: /REPOS-ROOT/!svn/vtxn
SVN-VTxn-Root-Stub: /REPOS-ROOT/!svn/vtxr
The presence of these new stubs (which can be appended to by the
client to create full-fledged resource URLs) tells ra_serf that
this is a new server, and that the new streamlined HTTP protocol
can be used. ra_serf then caches them in the ra_session object.
If these new OPTIONS responses are not returned, ra_serf falls back
to 'classic' DeltaV protocol.
We're not returning the new custom headers, so I'd expected that ra_serf
would fall back.
Do you know whether there's something else that the "SVNAdvertiseV2Protocol
off" config directive does to OPTIONS or other responses?
On Wed, Feb 8, 2012 at 1:47 PM, Daniel Shahaf <danielsh_at_elego.de> wrote:
> Nick Hengeveld wrote on Wed, Feb 08, 2012 at 12:34:52 -0800:
> > Thanks for checking - we want to be fully compatible so any information
> > like this helps.
> >
> > The checkout URL is the same as the HTTP clone URL, and the .git suffix
> is
> > optional for both git and svn clients.
> >
> > I may have misunderstood what's up with the ra_serf library, I thought
> that
> > was related to HTTP protocol changes introduced in 1.7 and that 1.7
> clients
> > would fall back to old behavior for <1.7 servers. I'll read up on this,
> if
>
> Yes. 1.7 clients speak the 1.6 protocol with servers that have
> "SVNAdvertiseV2Protocol off" in their config.
>
> (ra_neon supports a subset of the HTTPv2 features that ra_serf does.)
>
> > you have any pointers to documentation related to ra_serf that would be
> > helpful.
>
> There is an overview in the 1.7 release notes (look for "serf" and
> "HTTPv2"), and a more technical overview might be found in
> notes/http-and-webdav/. (I'm not sure how up-to-date the latter is
> wrt the implementation.)
>
> HTH
>
>
--
For a successful technology, reality must take precedence over public
relations, for nature cannot be fooled.
Received on 2012-02-08 23:08:36 CET