%general-entities; ]> $LastChangedBy$ $Date$ 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 . &lfs90_checked; 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 Required and Recommended (for handling http:// and https:// URLs) Optional , , , , , (with sqlite support for the tests), , (for building Perl, Python and Ruby bindings), LZ4, and UTF8proc Optional (for the Java Bindings) One of , Dante or Jikes, and JUnit 4 (to test the Java bindings). Note that JUnit is included with . User Notes: Installation of Subversion Install Subversion by running the following commands: ./configure --prefix=/usr \ --disable-static \ --with-apache-libexecdir \ --with-lz4=internal \ --with-utf8proc=internal && make If you have installed and you wish to build the API documentation, issue: doxygen doc/doxygen.conf If you passed the 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/python&python2-majorver;/site-packages/libsvn \ swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn # for Python make swig-rb # for Ruby To test the results, issue: make check. The upgrade_tests.py test is known to fail. To test the results of the Java bindings build, issue make check-javahl. The JUnit testing framework must be installed, and the location of the JUnit jar has to be specified by passing the parameter to configure. Note that JUnit is included in , and can be accessed by passing to configure. 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. Now, as the root user: make install && 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 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/python&python2-majorver;/site-packages/libsvn \ swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn make install-swig-rb Command Explanations --with-apache-libexecdir: If 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. --with-lz4=internal, --with-utf8proc=internal: Remove them if you have installed the optional dependencies. : enables compilation of Java high level bindings. Running make javahl is necessary to do the compilation. : gives the location of the junit jar, otherwise the javahl tests cannot be run. : Do not use the Googlemock testing framework. 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, svnbench, svndumpfilter, svnfsfs, svnlook, svnmucc, svnrdump, svnserve, svnsync, and svnversion 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. /usr/include/subversion-1, /usr/lib/perl5/site_perl/&lfs-perl-version;/{,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-&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 svnbench is a benchmarking tool. svnbench svndumpfilter is a program for filtering Subversion repository dumpfile format streams. svndumpfilter svnfsfs is the FSFS (FileSystem atop of the FileSystem - Subversion filesystem implementation) repository manipulation tool. svnfsfs svnlook is a tool for inspecting a Subversion repository. svnlook svnmucc is a Multiple URL Command Client for Subversion. svnmucc svnrdump is a tool for dumping or loading a remote Subversion repository. svnrdump svnserve is a custom standalone server program, able to run as a daemon process or invoked by SSH. svnserve svnsync is a Subversion repository synchronisation tool. svnsync svnversion is used to report the version number and state of a working Subversion repository copy. svnversion libsvn_*-1.so are the support libraries used by the Subversion programs. libsvn_*-1.so 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