webdav plugin

Jan Hudec bulb at ucw.cz
Fri Sep 1 08:15:13 BST 2006


On Wed, Aug 23, 2006 at 12:31:55PM +1000, Martin Pool wrote:
> On 22 Aug 2006, Reinhard Tartler <siretart at tauware.de> wrote:
> > 
> > Hi,
> > 
> > I was discussing with a friend and strong svn lover about versioning
> > control systems, in particular svn and bzr. In the discussion, he told
> > me that what he likes most about svn is that he can commit via http
> > (read: webdav) using mod_dav_svn.
> > 
> > I told him that I couldn't imagine that it shouldn't be too hard to hack
> > something using mod_python and bzr to install handler, which processes
> > webdav requests and commits the result into an bzr branch somewhere on
> > the local filesystem.
> > 
> > Another approach would be perhaps an bzr plugin, which starts an webdav
> > server as service. This would require a more or less complete python
> > implementation of an dav capable http server (is there something like
> > this in python land?).
> > 
> > Now I wanted to ask the bzr community what they think about this
> > approach. Perhaps somebody already started hacking this?
> 
> There are two lines of development towards commit over http.
> 
> One is to use DAV as a dumb filesystem, which is what Vincent has just
> done.  It may be hard to make this fast if the network is slow.  This
> should work with any DAV implementation on the server.
> 
> Also, the smart server which Andrew & I are working on should be able to
> communicate over either http or ssh, like svn.  Like svn, this will
> require some software to be hooked into the server.

... and neither is what Reinhard had in mind. What I presume he wants is
an extension to webserve, that will present raw contents of the latest
tree (meaning with unaltered relative paths) AND allow uploading new
TREE over webdav to check it in.

Ie. assume you have a tree with file foo/bar.txt. Than there would be an
URL so that <URL> would give directory listing for tree root (ie.
containing foo), <URL>/foo would give directory listing for foo (ie.
containing bar.txt) and <URL>/foo/bar.txt would give contents of the
file. AND an appropriate PUT request (with appropriate WebDAV metadata)
would check in a new version of bar.txt.

Since you can access WebDAV like any other remote filesystem, this gets
useful for things like documentation, since anyone can read it without
special tools and even update it if needed.

--------------------------------------------------------------------------------
                  				- Jan Hudec `Bulb' <bulb at ucw.cz>




More information about the bazaar mailing list