%general-entities; ]> $LastChangedBy$ $Date$ subversion-&subversion-version;.tar subversion Subversion-&subversion-version; Subversion 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 . Package Information Download (HTTP): Download (FTP): Download MD5 sum: &subversion-md5sum; Download size: &subversion-size; Estimated disk space required: &subversion-buildsize; Estimated build time: &subversion-time; Subversion Dependencies Optional (required to run the test suite), or Apache Portable Runtime, neon-&svn-neon-version;, (to build the Java bindings), JUnit (required for running the Java bindings test suite and requires ), Dante (alternate Java compiler), and Jikes (another alternate Java compiler) Optional for the Bundled Version of Neon , or , , or Optional for the Bundled Version of Apache Portable Runtime and Optional to Build the SWIG Bindings SWIG, , and Note that the Python, Perl and Ruby bindings will not compile properly with the current version of SWIG. To build the bindings, you must have SWIG-1.3.{24,25} installed. Complete instructions for building the SWIG bindings can be found in the Subversion source tree file ./subversion/bindings/swig/INSTALL. User Notes: Installation of Subversion For reasons that are not yet fully understood, Subversion repositories based on some versions of Berkeley DB (notably 4.4.x) may not perform reliably. Though there have been no reports of corrupted databases caused by this issue, the Subversion test suite may report a failure in one of the tests due to problems opening a repository based on Berkeley DB. This issue only affects BDB-based repositories on a local installation and does not affect access to a BDB-based repository on a remote system built with older versions of Subversion or Berkeley DB. For these reasons, the Berkeley DB back-end is disabled, and any local BDB-based repositories you may have will be unavailable after installing Subversion using the following instructions. Please reference the information at if you need to migrate your repositores. Install Subversion by running the following commands: ./configure --prefix=/usr \ --without-berkeley-db \ --with-installbuilddir=/usr/lib/apr-0 && make If you have Apache installed, pass the and switches to the configure script. Otherwise, Subversion will overwrite APR and APR-utils from the Apache installation with the source distribution files. You may also need to pass as apxs might not be in an unprivileged user's PATH and won't be properly discovered. Additionally if you have Apache installed, you may safely remove the --with-installbuilddir=/usr/lib/apr-0 parameter as it will have no effect. If you passed the parameter to configure and wish to build the Java bindings, issue the following command: make javahl If you passed the parameter to configure and 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 of the Subversion build, issue: make check. This will take quite a long time. The fs-base-test is known to fail with issues surrounding the Berkely database installation. As mentioned earlier, it is not yet fully understood why this test fails. To test the results of the Java bindings build, issue make check-javahl. Note you must have the JUnit (version 3.8.x) 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 && rm doc/{Makefile,doxygen.conf} && find doc -type d -exec chmod 755 {} \; && find doc -type f -exec chmod 644 {} \; && install -v -m755 -d /usr/share/doc/subversion-&subversion-version; && cp -v -R doc/* /usr/share/doc/subversion-&subversion-version; 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 && echo /usr/lib/svn-python \ > /usr/lib/python2.4/site-packages/subversion.pth && make install-swig-rb Command Explanations --with-installbuilddir=/usr/lib/apr-0: This parameter is used (and only has an effect if you used the source provided version of Apache Portable Runtime) to force the installation of some APR-related support programs to /usr/lib/apr-0 instead of /usr/build. : This option should be used if you wish to use a system-installed version of neon. : This switch enables OpenSSL support in neon (only required if you use the bundled version of neon). Configuring Subversion Config Files ~/.subversion/config and /etc/subversion/config ~/.subversion/config /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 Installed Libraries Installed Directories svn, svnadmin, svndumpfilter, svnlook, svnserve, svnversion, and optionally, neon-config and apr-config libsvn*.{so,a} and optionally, libneon.{so,a} and the mod_dav_svn.so, and mod_authz_svn.so Apache HTTP DSO modules /etc/subversion, /usr/include/neon (optional), /usr/include/subversion-1, /usr/lib/perl5/site_perl/&lfs-perl-version;/i686-linux/auto/SVN (optional), /usr/lib/perl5/site_perl/&lfs-perl-version;/i686-linux/SVN (optional), /usr/lib/svn-javahl (optional), /usr/lib/svn-python (optional), /usr/share/doc/neon-&svn-neon-version; (optional), and /usr/share/doc/subversion-&subversion-version; Short Descriptions svn is a command-line client program used to access Subversion repositories. svn svnadmin is a tool for creating, tweaking or repairing a Subversion repository. svnadmin svndumpfilter is a program for filtering Subversion repository dumpfile format streams. svndumpfilter svnlook is a tool for inspecting a Subversion repository. svnlook svnserve is a custom standalone server program, able to run as a daemon process or invoked by SSH. svnserve svnversion is used to report the version number and state of a working Subversion repository copy. svnversion neon-config is a script which provides information about an installed copy of the neon library. neon-config libsvn_*.{so,a} are the support libraries used by the Subversion programs. libsvn_*.{so,a} libneon.{so,a} is used as a high-level interface to common HTTP and WebDAV methods. libneon.{so,a} 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_authz_svn.so 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. mod_dav_svn.so