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

Re: HTTP protocol v2: rethunk.

From: David Glasser <glasser_at_davidglasser.net>
Date: Wed, 5 Nov 2008 14:15:32 -0800

Or to put it another way: will your new implementation use the
libsvn_repos commit editor?


On Wed, Nov 5, 2008 at 2:15 PM, David Glasser <glasser_at_davidglasser.net> wrote:
> What do your new ideas say about commits? Will it be possible to have
> a single-HTTP-request commit, or will we still be stuck with the
> "commits are a random series of events in a random undocumented order
> that probably go to different backends"?
> --dave
> On Wed, Nov 5, 2008 at 8:45 AM, Ben Collins-Sussman
> <sussman_at_red-bean.com> wrote:
>> Last month I started a couple of threads about my intent to completely
>> rewrite our HTTP network protocol.
>> I had originally pushed very hard for writing an entirely new
>> standalone apache module (mod_svn), which could then provide support
>> for WebDAV and older clients by deferring requests to mod_dav_svn
>> running "behind" it. My idea was to model the svnserve protocol -- do
>> exactly one network turnaround for each RA function. My hope is that
>> this would give us speed somewhat close to svnserve.
>> On the plane out to Apachecon New Orleans, I had an opportunity to
>> really read ra_serf's code and understand what it's doing for each RA
>> function. I ended up persuading myself that if we can eliminate all
>> of the DeltaV "discovery" formalities (i.e. cut out all of the extra
>> PROPFINDs that precede so many different types of requests), we end up
>> with an HTTP protocol that's about 95% the same as what I would have
>> written from scratch anyway. Very sane and readable.
>> This is the point where cmpilato, gstein, jerenkrantz, and many others
>> all get to scream "I told you so". :-)
>> In any case, I had a late-night face-to-face design meeting with
>> {gstein, jerenkrantz, striker, pquerna, fitz} and as a group we worked
>> out all of the details of exactly how we want to change our existing
>> protocol. I'll be committing some massive updates to the
>> notes/http-protocol-v2.txt file very soon for everyone to look at. In
>> a nutshell, though: we're going to abandon DeltaV formalities and just
>> let the client *assume* the format of different types of URLs; the
>> client will be able to construct them all by itself.
>> Meanwhile, in the same spirit of abandoning DeltaV, we want to do
>> something we've been discussing doing for (literally) years:
>> annnouncing a completely open syntax for fetching (rev,path) objects
>> over HTTP. In the past, people have sort of figured out that
>> "!svn/bc/REV/path" is the sooper-sekrit syntax, but we've warned
>> people not to depend on it. No more of that. We'd like to officially
>> support what source-browsers and other tools have already been doing
>> for years:
>> path?r=REV
>> I already have a smallpatch for mod_dav_svn to support this, and look
>> forward to others' review of it. It's really quite a tiny change, so
>> I'd like to see it go out in 1.6 if nobody objects. I'll then have 6
>> months to do all the 'big' protocol changes for 1.7.
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
>> For additional commands, e-mail: dev-help_at_subversion.tigris.org
> --
> David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-11-05 23:15:51 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.