[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: Ben Collins-Sussman <sussman_at_newton.collab.net>
Date: 2000-11-27 23:56:27 CET

Greg Stein <gstein@lyra.org> writes:

> > What's our mechanism for loading the appropriate DSO into the
> > command-line client?
>
> apr_dso.h

Right. I figured. :)

> > 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.

Right... if we use `--xml-file'. Sure.

> > 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.

Right. But I think people would be annoyed if Subversion 1.0 didn't
support mixed-repository working copies.

Suppose I have a working copy `foo/' such that it all comes from a
far-away network repository -- except for one particular subdir
`bar/', whose SVNROOT is repository on local disk.

So now I cd into foo/ and type `svn update gloo/ bar/ bloo/`.

For gloo/ and bloo/, I need to use libsvn_ra_dav. For bar/, I need
libsvn_ra_local. This means the client needs to manually load the dav
library, then *un*load it, load the local library, then *un*load it,
then load the dav library again. It needs to make sure that they're
never loaded at the same time, else we run into symbol namespace
conflicts, right?

> [ 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 ]

Sounds like a nice, abstract idea. The "session" may hold different
data for ra_local.

> There will be a number of editors, but I only know of commit and update.

Yeah, I think that's all there is. libsvn_wc provides an `update'
editor that you need to drive when doing a checkout or update. And
libsvn_wc needs to drive an editor when committing. Right now it's
driving Greg H's xml-output editor, but eventually it will need to
drive one you provide.

I'll set up svn_ra.h as I see fit, and we'll go from there. :)
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.