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

Re: Experiences of a Subversion FS backend developer

From: Jon Trowbridge <trow_at_google.com>
Date: Thu, 1 Apr 2010 13:12:19 -0600

On Thu, Apr 1, 2010 at 6:17 AM, Julian Reschke <julian.reschke_at_gmx.de> wrote:
> On 31.03.2010 21:20, C. Michael Pilato wrote:
>>
>> ...
>>   - "WebDAV sucks.  Period."
>> ...
>
> Out of curiosity: what's the relation to writing a Subversion FS backend?

It added a lot of friction to the development process.

Because of svn's reliance on end-to-end tests, bugs or mistakes (like
returning the wrong error code) in our new FS implementation would
usually manifest themselves far away from the FS code. Often problems
would take the form of a crash in one the DAV layers, and these were
always the most painful to debug. In my opinion, the code in mod_dav
and mod_dav_svn is of much lower quality than the code found elsewhere
in Subversion: it is brittle, not (or barely) documented, and is full
of fun things like 500-line functions with hardly any comments. There
is a tremendous amount of indirection (particularly in the
rarely-exercised code paths related to error-handling), so things tend
to blow up far away from the root cause and it is often difficult to
reconstruct exactly what went wrong. Debugging these things tended to
be multi-day affairs.

WebDAV introduces a huge amount of complexity, but as far as I can
tell it buys svn essentially nothing. The design of the protocol
seems to be predicated on the peculiar notion that network round-trips
are free. The idea of using an HTTP-based protocol was fundamentally
sound, but in retrospect WebDAV seems to have been an unfortunate
choice.

Best,
-J

>
> Best regards, Julian
>
> PS: and, of course, it's not true :-)
>
Received on 2010-04-01 21:22:55 CEST

This is an archived mail posted to the Subversion Dev mailing list.