If the Subversion Repository layer is at “the other end of the line,” the Repository Access (RA) layer is the line itself. Charged with marshaling data between the client libraries and the repository, this layer includes the libsvn_ra module loader library, the RA modules themselves (which currently includes libsvn_ra_neon, libsvn_ra_local, libsvn_ra_serf, and libsvn_ra_svn), and any additional libraries needed by one or more of those RA modules (such as the mod_dav_svn Apache module or libsvn_ra_svn’s server, svnserve).
Since Subversion uses URLs to identify its repository resources,
the protocol portion of the URL scheme (usually
svn+ssh://) is used to determine which RA
module will handle the communications. Each module registers a list of
the protocols it knows how to “speak” so that the RA loader
can, at runtime, determine which module to use for the task at hand. You
can determine which RA modules are available to the Subversion
command-line client, and what protocols they claim to support, by
$ svn --version svn, version 1.5.0 (r31699) compiled Jun 18 2008, 09:57:36 Copyright (C) 2000-2008 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles ...