On Mon, Nov 27, 2000 at 02:23:24PM -0600, Ben Collins-Sussman wrote:
> Greg Stein <email@example.com> writes:
> > Even if you don't split out a libsvn_ra_xml, you can use libsvn_client as a
> > guide, based on where/when/how it does the XML stuff.
> Assume that we have three libraries now:
> And all three implement the interface in `svn_ra.h'.
> What's our mechanism for loading the appropriate DSO into the
> command-line client?
> How does it know which one to use?
Default to DAV. If the repository URL is file://, then use local. Dunno
about the XML (or other, arbitrary RA libraries). I'd say some other switch
to select it.
> Can it have
> more than one loaded at the same time?
Not sure. I can't think of a case where two are needed.
Hmm... maybe. Imagine a mixed-repository working copy. I don't know that we
need to support that in V1, but a given dir's RA is implied by some data
store in the SVN subdir.
> Gimme a vision here. :)
Sorry, don't have one :-). Like I said, I hadn't really had a chance to
apply much thought to the problem yet. Loading them thru apr_dso, use them,
and that's about it. Dunno what the API will end up being (particularly to
deal with the possibility of different needs/inputs for prepping an RA
"session". (e.g. how to get the HTTP user/pass into there?)
[ the "session" is a baton, if you will, for the entire sequence of
operations. in the DAV case, it holds the HTTP connection to the server ]
There will be a number of editors, but I only know of commit and update.
Looking at libsvn_client will discover other editors. The checkout process
consumes an editor (to make changes in the WC). Really... an investigation
into libsvn_client to see what XML-related handling is used (generally, in
conjunction with WC), then to imply the same handling on RA in general.
As you go, we can certainly think about it some more, but that's about all
that I have right now.
Greg Stein, http://www.lyra.org/
Received on Sat Oct 21 14:36:15 2006