Subversion-1.9.0

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

This package is known to build and work properly using the gcc-5 compiler.

Package Information

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

  • Download MD5 sum: 20ae7b0d4ef07eeaf73eb4e23317b495

  • Download size: 7.4 MB

  • Estimated disk space required: 174 MB (436 MB with all bindings and API documentation built; additional 785 MB for tests)

  • Estimated build time: 1 SBU (2.8 SBU with all bindings and API documentation built; additional 68 SBU for tests)

Subversion Dependencies

Required

Apr-Util-1.5.4 and SQLite-3.8.11.1

Recommended

Optional

Apache-2.4.16, Cyrus SASL-2.1.26, D-Bus-1.10.0, kdelibs-4.14.10 (for KWallet support), Python-2.7.10 (with sqlite support for the tests), Ruby-2.2.3, and SWIG-3.0.7 (for building Perl, Python and Ruby bindings)

Optional (for the Java Bindings)

One of OpenJDK-1.8.0.51, Dante or Jikes, and JUnit-4.11 (to test the Java bindings)

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

Installation of Subversion

[Note]

Note

This package may fail during the make phase when using multiple processors. If this occurs try continuing with make -j1 or redo the entire build process with fresh sources using -j1.

Install Subversion by running the following commands:

./configure --prefix=/usr    \
            --disable-static \
            --with-apache-libexecdir &&
make

If you have Doxygen-1.8.10 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 want to compile Perl, Python2, or Ruby bindings, issue any of the following command:

make swig-pl # for Perl
make swig-py \
     swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
     swig_pydir_extra=/usr/lib/python2.7/site-packages/svn # for Python
make swig-rb # for Ruby

To test the results, issue: make check.

The Java bindings test, make check-javahl, fails due to errors in the test suite.

To test the results of any of the SWIG bindings, you can use any of the following commands: make check-swig-pl, make check-swig-py, or make check-swig-rb.

The Ruby bindings test, make check-swig-rb, fails due to errors in the test suite.

Now, as the root user:

make install &&

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

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

 make install-javahl

If you built the Perl, Python2, or Ruby bindings, issue any of the following commands as the root user to install them:

make install-swig-pl
make install-swig-py \
      swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
      swig_pydir_extra=/usr/lib/python2.7/site-packages/svn
make install-swig-rb

Command Explanations

--disable-static: This switch prevents installation of static versions of the libraries.

--with-apache-libexecdir: If Apache-2.4.16 is installed, the shared Apache modules are built. This switch allows to have those modules installed to Apache's configured module dir instead of /usr/libexec. It has no effect if Apache is not installed.

---disable-gmock: Do not use the Googlemock testing framework.

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, svnbench, svndumpfilter, svnfsfs, svnlook, svnmucc, svnrdump, svnserve, svnsync, and svnversion
Installed Libraries: libsvn_*-1.so and optionally, a Java library, the mod_dav_svn.so and 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.x.y>/<arch-linux>/{,auto/}SVN, /usr/lib/python2.7/site-packages/{libsvn,svn}, /usr/lib/ruby/site_ruby/<x.y.z>/{,<arch-linux>-linux/}svn, /usr/lib/svn-javahl, and /usr/share/doc/subversion-1.9.0

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.

svnbench

is a benchmarking tool.

svndumpfilter

is a program for filtering Subversion repository dumpfile format streams.

svnfsfs

is the FSFS (FileSystem atop of the FileSystem - Subversion filesystem implementation) repository manipulation tool.

svnlook

is a tool for inspecting a Subversion repository.

svnmucc

is a Multiple URL Command Client for Subversion.

svnrdump

is a tool for dumping or loading a remote Subversion repository.

svnserve

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

svnsync

is a Subversion repository synchronisation tool.

svnversion

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

libsvn_*-1.so

are the support libraries used by the Subversion programs.

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 2015-08-21 15:09:10 +0000