James Tauber's Blog 2006/01/21


blog > 2006 > 01 >


Subversion as a Persistence Layer

For almost as long as I've been working on Leonardo, I've been thinking about Subversion as a persistence layer. In fact, some of the design of Leonardo's current persistence layer (LFS = Leonardo File System) was inspired by Subversion and I've long thought about an alternative LFS implementation that sits directly on Subversion.

Adding the persistence layer to Demokritos I thought about starting out with Subversion right away so I've been doing some investigation.

The SWIG-based Python bindings that Subversion comes with scared me off pretty quickly. Then I found pysvn which provides a much more Pythonic (and well documented) interface to Subversion.

The problem is that pysvn assumes that you are checking out to a local workspace, which is not what I want. I just want to be able to send and receive Python strings, not create a workspace, have Demokritos read/write files from/to that workspace and then use pysvn to check-out/commit.

But it doesn't appear possible with pysvn. Not because of a limitation of pysvn itself but because the Subversion client API doesn't support it.

It would seem to me that it would still be possible to use Subversion the way I want to but it would involve one of

Subversion itself doesn't seem to expose the bits I need (certainly not in Python)

UPDATE: Literally seconds after posting this, Chris Curvey responded to a query I made on the pysvn mailing list and pointed me to a session given by Greg Stein at OSCON. The abstract for the session mentioned SubWiki which looks like it might be doing what I want to do (although it may still use a local workspace). Investigating more. Maybe I should just ask Greg.

UPDATE (2006-02-09): Good news! Now see Using the Python Subversion Binding.

by : Created on Jan. 21, 2006 : Last modified Feb. 8, 2006 : (permalink)


Planet Python Doesn't Support Atom 1.0

Looks like my move to Atom 1.0 didn't quite go as smoothly as I would have liked.

It appears Planet Python doesn't properly handle Atom 1.0 - or more specifically, content of type "html".

by : Created on Jan. 21, 2006 : Last modified Jan. 21, 2006 : (permalink)


Quisition Short-Term Demo (but not in IE)

Previously, I talked about Short-Term Testing in Quisition.

I've now made a demo of this available on the site.

It's actually the first bit of JavaScript more than a few lines I've ever written.

It works fine in Safari and Firefox but I haven't got it working in IE6 yet. If anyone with IE6 JavaScript experience could take a look and see what I've done wrong, that would be greatly appreciated.

And let me know if you have any suggestions about the test itself too.

People subscribed to the announcement feed already knew about this demo two weeks ago and I've got some good feedback. I always welcome more, though.

UPDATE: Now that Quisition is launched, I've removed the demo. You can sign up for the real thing at http://www.quisition.com/

by : Created on Jan. 21, 2006 : Last modified March 3, 2007 : (permalink)