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

Re: Adding bells and whistles to mod_dav_svn

From: Greg Stein <gstein_at_gmail.com>
Date: 2007-02-04 01:43:40 CET

Hi there,

There is no specification for accepting content through a POST, so
that is not part of mod_dav's implementation. mod_dav_svn is designed
to interface the svn repository with Apache and the WebDAV
specification. No more than that. The design criteria was to be as
minimal as possible, and leave additional features to complementary
systems. This is why the GET response is so minimal: software like
ViewVC can provide the full range of browsing behavior. The XSLT stuff
violates that "no extension" design, and I've never liked it, even
when it was first introduced. At the time, it was about a dozen extra
lines of code, so it was hard to justify my opposition to it, given
the functionality it provided. Since then, it has grown, and I feel my
original fears somewhat justified.

I believe that mod_dav_svn should be limited to the support necessary
for WebDAV clients (and the svn ra_dav client is one of them). Other
clients and functionality should use complementary systems, whether
those are CGI scripts or other Apache modules. Adding "just one more
feature" leads to adding ten more, and then you end up with something
that becomes hard to maintain/evolve into the future. And because
other options for implementing those features *are* available, then I
believe that is a reasonable position.

Cheers,
-g

On 2/1/07, Omri Schwarz <omri@space.mit.edu> wrote:
> Hi, all.
>
> I'm looking at using Subversion as the backend for a content
> management system, for a variety of reasons. The phrase "content
> management system" generally means bells and whistles that do not
> directly pertain to the Subversion code base, and which I am implementing
> through CGI (by adding them to Insurrection, mostly), but there are
> two exceptions:
>
> 1. Autoversioning of files uploaded through HTTP POST
>
> Until all common browsers support WebDAV and/or XForms,
> we are left with HTML Forms, which do not support the PUT
> method of the HTTP/WebDAV protocols. I've already written
> a CGI script in Python that combines with Insurrection to
> get around the problem, but I thought I'd ask whether it would
> be worthwhile to edit mod_dav_svn to accept files for autoversioning
> through the POST method. Among other things, that would allow
> such things as accepting log messages along with the upload,
> or accepting deltas of some kind or other.
>
> 2. The GET method when applied to directories in a repository.
>
> The SVNIndexXSLT option is nice, but it would be better if
> a directory index requested by a GET would yield more information
> from the properties of a directory's entries, XML formatted,
> so the XSLT transform could present it in the form CMS users like
> to see (things like icons selected by MIME type and the like).
> It doesn't look like a difficult thing to add to repos.c in
> the mod_dav_svn directory, but before I set out to do something
> like that, I thought I would ask if I could do so without
> breaking something in the Subversion clients. Am I right to
> think that the svn client could just deal if the DTD and output
> for the GET was changed?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>
>

-- 
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Feb 4 01:43:58 2007

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