Subversion-1.7.1

Introduction to Subversion

Subversion is a version control system that is designed to be a compelling replacement for CVS in the open source community. It extends and enhances CVS' feature set, while maintaining a similar interface for those already familiar with CVS. These instructions install the client and server software used to manipulate a Subversion repository. Creation of a repository is covered at Running a Subversion Server.

This package is known to build and work properly using an LFS-7.0 platform.

Package Information

  • Download (HTTP): http://archive.apache.org/dist/subversion/subversion-1.7.1.tar.bz2

  • Download MD5 sum: 8a4fa74385df85a9702141b6b68b8307

  • Download size: 5.7 MB

  • Estimated disk space required: 153 MB (additional 119 MB to install all bindings and 750 MB to run all test suites)

  • Estimated build time: 1.6 SBU (add 2.7 SBU for bindings and 7.1 SBU to run test suites)

Subversion Dependencies

Required

SQLite-3.7.8, and Apache-2.2.21 (for the APR only) or Apache Portable Runtime

If you require the Berkeley DB back-end hooks in Subversion to build or support BDB based repositories, you must have Berkeley DB linked into the APR-util library. There is information in the Apache-2.2.21 instructions that shows the required parameters to pass to the configure script when building any of the APR-util packages.

Optional

Python-2.7.2 (required to run the test suite), Berkeley DB-5.2.36, SQLite-3.7.8, Cyrus SASL-2.1.23, OpenSSL-1.0.0e, D-Bus GLib Bindings-0.98, gnome-keyring-2.30.3, KWallet from KDE4, Apache-2.2.21 (if you have Apache Portable Runtime installed), and neon-0.29.6 or serf

Optional to Build the Java Bindings

One of IcedTea6-1.9.7, JDK-6 Update 18, Dante, or Jikes, and JUnit-4.8.1 (to test the Java bindings)

Optional to Build the SWIG Bindings

SWIG**, Python-2.7.2, and Ruby-1.9.2-p290

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/subversion

Installation of Subversion

Install Subversion by running the following commands:

./configure --prefix=/usr &&
make

If you have Doxygen-1.7.5 installed and you wish to build the API documentation, issue: doxygen doc/doxygen.conf.

If you passed the --enable-javahl parameter to configure and wish to build the Java bindings, issue the following command:

make javahl

If you have the necessary dependencies installed and you wish to build the Perl, Python and/or Ruby bindings, issue any or all of the following commands:

make swig-pl &&
make swig-py &&
make swig-rb

To test the results, issue: make check.

To test the results of the Java bindings build, issue make check-javahl. Note you must have the JUnit testing framework installed.

To test the results of any or all of the SWIG bindings, you can use the following commands:

make check-swig-pl &&
make check-swig-py &&
make check-swig-rb

Now, as the root user:

make install &&
install -v -m755 -d /usr/share/doc/subversion-1.7.1 &&
cp      -v -R       doc/* \
                    /usr/share/doc/subversion-1.7.1

If you built the Java bindings, issue the following command as the root user to install them:

make install-javahl

If you built any of the SWIG bindings, issue any or all of the following commands as the root user to install them:

make install-swig-pl &&
make install-swig-py &&
make install-swig-rb

In order for Python to automatically discover the bindings, add /usr/lib/svn-python to the PYTHONPATH environment variable to the system or personal profiles.

Command Explanations

--with-apr=<prefix> --with-apr-util=<prefix>: These options should be used if you wish to use the system-installed version of the APR. Ensure you identify the correct installation prefix.

--with-apxs=/usr/sbin/apxs: This option should be used to identify the system-installed version of the apxs command installed during the Apache HTTPD installation as apxs might not be in an unprivileged user's PATH and won't be properly discovered.

Configuring Subversion

Config Files

~/.subversion/config and /etc/subversion/config

Configuration Information

/etc/subversion/config is the Subversion system-wide configuration file. This file is used to specify defaults for different svn commands.

~/.subversion/config is the user's personal configuration file. It is used to override the system-wide defaults set in /etc/subversion/config.

Contents

Installed Programs: svn, svnadmin, svndumpfilter, svnlook, svnserve, svnsync and svnversion
Installed Libraries: libsvn*.{so,a} and optionally, a Java library, the mod_dav_svn.so, and mod_authz_svn.so Apache HTTP DSO modules and various Perl, Python and Ruby modules
Installed Directories: /usr/include/subversion-1, /usr/lib/perl5/site_perl/5.12.1/i686-linux/auto/SVN (optional), /usr/lib/perl5/site_perl/5.12.1/i686-linux/SVN (optional), /usr/lib/ruby/site_ruby/x.x/i686-linux/svn (optional), /usr/lib/svn-javahl (optional), /usr/lib/svn-python (optional) and /usr/share/doc/subversion-1.7.1

Short Descriptions

svn

is a command-line client program used to access Subversion repositories.

svnadmin

is a tool for creating, tweaking or repairing a Subversion repository.

svndumpfilter

is a program for filtering Subversion repository dumpfile format streams.

svnlook

is a tool for inspecting a Subversion repository.

svnserve

is a custom standalone server program, able to run as a daemon process or invoked by SSH.

svnversion

is used to report the version number and state of a working Subversion repository copy.

neon-config

is a script which provides information about an installed copy of the neon library.

libsvn_*.{so,a}

are the support libraries used by the Subversion programs.

libneon.{so,a}

is used as a high-level interface to common HTTP and WebDAV methods.

mod_authz_svn.so

is a plug-in module for the Apache HTTP server, used to authenticate users to a Subversion repository over the Internet or an intranet.

mod_dav_svn.so

is a plug-in module for the Apache HTTP server, used to make a Subversion repository available to others over the Internet or an intranet.

Last updated on 2011-11-04 21:03:36 +0000