6.1 Overview

Subversion was designed with an abstract network layer. This means that a repository can be programmatically accessed by any sort of server process, and the client repository access API allows programmers to write plugins that speak relevant network protocols. In theory, Subversion can sport an infinite number of network implementations. In practice, there are only two servers at the time of writing.

Apache is an extremely popular webserver; using the mod_dav_svn module, Apache can access a repository and make it available to clients via WebDAV/DeltaV protocol, which is an extension of HTTP. In the other corner is svnserve: a small, standalone server program that speaks a custom protocol with clients. Table 6-1 presents a comparison of the two servers.

Note that Subversion, as an open-source project, does not officially endorse any server as primary or official. Neither network implementation is treated as a second-class citizen; each server has distinct advantages and disadvantages. In fact, it's possible for different servers to run in parallel, each accessing your repositories in its own way, and each without hindering the other (see Section 6.5 later in this chapter). Here's a brief overview and comparison of the two available Subversion servers as an administrator, it's up to you to choose whatever works best for you and your users.

Table 6-1. Network server comparison

Feature

Apache + mod_dav_svn

svnserve

Authentication options

HTTP(S) basic auth, X.509 certificates, LDAP, NTLM, or any other mechanism available to Apache httpd

CRAM-MD5 or SSH

User account options

private "users" file

private "users" file, or existing system (SSH) accounts

Authorization options

blanket read/write access, or per-directory access control

blanket read/write access

Encryption

via optional SSL

via optional SSH tunnel

Interoperability

partially usable by other WebDAV clients

not interoperable

Web viewing

limited built-in support, or via 3rd-party tools such as ViewCVS

via 3rd-party tools such as ViewCVS

Speed

somewhat slower

somewhat faster

Initial setup

somewhat complex

fairly simple




Version Control with Subversion
Version Control with Subversion
ISBN: 0596510330
EAN: 2147483647
Year: 2003
Pages: 127

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net