You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Dave Brown <da...@moonspider.com> on 2010/01/06 03:55:50 UTC

Subversion implementation using Jackrabbit?

Hello,

I am looking to write a Subversion/WebDAV server in java, and I would 
like to get thoughts from the community about how this might fit into 
Jackrabbit and JCR.  Forgive me if this kind of thing has been discussed 
or documented somewhere - I searched through the mailing list archives, 
and only found this thread from 2006, which doesn't seem to be quite 
what I have in mind: 
http://www.mail-archive.com/dev@jackrabbit.apache.org/msg01996.html

A bit more about what I'm envisioning:
- protocol-compatible with existing Subversion / DAV clients
- standard servlet-based web app, deployable in Tomcat, etc.
- compatible with existing SVN repository file format on disk
- JNI bridge to Subversion's repository API for backend access to 
existing repositories (libsvn_repos.so)
- OSS license (Apache 2.0 style)

I'm trying to wrap my head around how this would sensibly fit into the 
Jackrabbit architecture diagram 
(http://jackrabbit.apache.org/jackrabbit-architecture.html).  At the 
very least, I'd hope to be able to re-use the WebDAV server component.  
But would the protocol and file compatibility requirements might make 
fitting into the rest of Jackrabbit problematic?

Any thoughts or advice would be greatly appreciated.  I'm still figuring 
out architecture details, obviously, so I'm hoping to avoid a big 
blunder that I'll have to re-work later :-).  I've written a quick & 
dirty prototype  that does some simple SVN operations (checkout, update) 
using another WebDAV library, but Jackrabbit seems industrial-strength, 
with a good community behind it.

Thanks in advance,

Dave Brown





Re: Subversion implementation using Jackrabbit?

Posted by Bertrand Delacretaz <bd...@apache.org>.
Hi,

On Wed, Jan 6, 2010 at 3:55 AM, Dave Brown <da...@moonspider.com> wrote:
> I am looking to write a Subversion/WebDAV server in java...

> ...- compatible with existing SVN repository file format on disk...

That's problematic - Jackrabbit uses its own format(s) or JDBC for
storage, you can create your own PersistenceManager (or
BundlePersitenceManager) and DataStore, but it might be quite hard or
impossible to recreate the subversion on-disk formats with that. And
I'm not sure what Jackrabbit would bring to you in that case, apart
from the WebDAV server part.

See http://jackrabbit.apache.org/api/1.6/ for details about these interfaces.

-Bertrand