Good Subversion HOWTO 

Newsgroups:  comp.os.linux.misc
Date:        Tue, 05 Sep 2006 22:16:14 +0200

I found a very straightforward HOWTO on configuring and using Subversion.

It includes:

A definite must-read for everyone who thinks SVN is too complex to set up at home.

Here is the link to digg: http://digg.com/programming/Subversion_For_Dummies_A_HOWTO_Your_Grandma_Can_Understand

Borys Musielak

Good Subversion HOWTO 

The dig link points to http://polishlinux.com/apps/subversion-howto

xpt

documented on: 2007-09-21

Other subversion resources 

Introduction to Subversion http://www.bellevuelinux.org/brownlee_subversion.html by David Brownlee BELUG March 13th, 2007
Configuring Subversion (svn) on Linux (Debian Stable) http://blog.andrewbeacock.com/2005/08/configuring-subversion-svn-on-linux.html

I've done SVN w/ WEB DAV before, but even if I hadn't, this walked me straight through it painlessly.

 Subversion: Not Just for Code Anymore
http://www.linuxjournal.com/node/8596/print[]
By William Nagel
Created 2006-01-26

Subversion and Linux: Setup and Use, Part 1 

http://www.ddj.com/linux-open-source/201200496

July 30, 2007

Ramanathan Muthaiah

The Subversion open source project has come a long way and achieved major milestones with many significant releases. To get an idea of the growth of Subversion as a mainstream version-control system, have a look at the testimonials and security space survey at subversion.tigris.org . Given the steady growth and adoption of Subversion by major players in the FLOSS world, it is imperative to understand the working nuances of this open source tool.

In the first installment of this two-part article, I provide an overview of Subversion design blocks and, to possible extent, addressed the details in setting up the basic system and using the same via the "file://" access scheme. In Part 2, I look at additional subcommands (e.g., svn propedit, svn merge, and others). Access to Subversion repositories via svnserve and http schemes as well as the availability of various third-party tools for Subversion will also be addressed in the second part.

Why Replace CVS? 

The Concurrent Versioning System (CVS) uses RCS storage for its repository needs and can track changes or revisions to file contents but not directory trees. It does not have provisions (out of the box) to copy, move, or rename artifacts stored in the repository without losing their history. Also, the inefficient handling of repository transactions over the network and branching/tagging operations are some of the factors that influenced the Subversion project team to go about writing a replacement for CVS.

What's New in Subversion? 

Subversion is released under an Apache/BSD-style open source license. Here are some of the major highlights in Subversion:

The Tigris Web site provides the set of features in Subversion v1.4 series; at this writing, the latest release (stable) was v1.4.3.

Subversion Design 

Briefly, I will cover the design of Subversion touching on its various layers. This layered architecture design (see Figure 1) is a significant improvement compared to the state-of-affairs in CVS.

Figure 1: Subversion architecture. (Courtesy www.svnbook.red-bean.com)

File System Layer 

Subversion repositories can be hosted using either FSFS or Berkeley DB. The following sections provide an overview of the two file systems.

Berkeley DB 

From the Subversion design book:

FSFS 

FSFS, another repository storage system, was introduced in mid-2004; it is a custom Unix-like file system but is not attached to the OS kernel like the ext2 and ext3 file systems. It doesn't use any database at all for its storage needs. The advantages of using an FSFS-type repository over the Berkeley DB are, portability across different operating systems, accessibility via networked file system, and less sensitive to crashes.

Apart from maintaining the revisions to file and directory contents, Subversion also keeps track of revisions to meta-data, known as "properties" (here again, user-defined metadata is not versioned).

Network/RA Layer 

Sandwiched between the "Client Layer" and the "File System Layer", the repository access (RA) layer is responsible for handling requests from clients to access repositories via HTTP, SVN, or local. RA is implemented as an abstract API by both the DAV and local access RA libraries. With this modular design and library-based implementation, it is easier for third parties to develop GUI clients.

This article would be incomplete if I did not mention the use of Apache in Subversion. Here are some reasons why Apache was chosen:

Note The marriage of Subversion with Apache enables access to the repository from anywhere outside the office network without the need for a fat/thin client but via a simple browser, like Mozilla FireFox, Konqueror, or other browser that you wish to use.

Client Layer 

This layer provides most of the functionalities that are requested by users for all their work involving access to the various repositories. This set of libraries, together known as "Client Libraries", have provisions for the management of the WC, in terms of its administration, techniques, and methods (via API) of interacting with the repository and general client functions for those tasks that involve both the repository and the WC. For a detailed description of the libraries, refer to the Subversion site [4].

In upcoming sections, I shall step through the nitty-gritty of installation, configuration, and setup of Subversion using repositories based on the FSFS storage format. For the purpose of this article, the coverage is limited to these operating environments:

Briefly, I shall cover the:

In the second part of this article, I shall cover the following topics: http://www.ddj.com/linux-open-source/201200496?pgno=2

Copyright (c) 2007 CMP Technology

documented on: 2007-09-21