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

Re: svn_ra.h

From: Greg Stein <gstein_at_lyra.org>
Date: 2000-11-29 19:44:05 CET

On Wed, Nov 29, 2000 at 12:08:36PM -0500, Greg Hudson wrote:
> > It buys us a way to support third parties who want to create
> > repository access layers.
>
> Here's a question: would we rather support third-party layers through
> a dynamic linking interface or through a subprocess?

Dynamic linking. Definitely.

> A dynamic
> linking interface would mean fixing a programmatic ABI (symbol
> versioning whenever structures change, all that good stuff). A

Versioning an ABI is cake; this aspect doesn't bother me at all. Using a
registration process is the most effective way to do so.

> subprocess interface requires marshalling and unmarshalling all of the
> relevant data, but we've already done that work (XML deltas) in
> libsvn_subr.

That code is there, yes. But I'd rather avoid all that XML marshalling if
and when possible.

> Also, I want Subversion to work over rsh/ssh at some point (unless you
> can provide neon and apache with authentication mechanisms which have
> all the nice key management properties of ssh), which means I want the
> subprocess support anyway.

I'd like to see Neon support full key handling. Not sure how far that is
from where it is today, or how that might interact with (say) your SSH
identity. Certainly worth an investigation (read: somebody has a possible
science project here). Neon will definitely have a way to deal with secure
keys; the real question is how much infrastructure is/will-be available and
whether that is enough (e.g. probably won't have anything like ssh-agent).

We could build libsvn_ra_ssh that opens an SSH tunnel to talk to the SVN
client on the other side. We'd need a client switch that is basically
"--xml-client=-", meaning read/write the XML to stdout/stdin. libsvn_ra_ssh
could share code with libsvn_ra_xml, then pipe the resulting XML over the
SSH tunnel, to an svn client on the server accepting XML via stdin.

Seems reasonable to do, but I'd be wary about leading people down this path.
I doubt that it will be as fast as the DAV model (if it is just as fast or
faster, then I've done my job wrong). And at the moment, we are treating the
DAV model as the primary access and the one subject to the most testing.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/
Received on Sat Oct 21 14:36:15 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.