This text is a work in progress—highly subject to
change—and may not accurately describe any released
version of the Apache™ Subversion® software.
Bookmarking or otherwise referring others to this page is
probably not such a smart idea. Please visit
http://www.svnbook.com/
for stable versions of this book.

Installing Subversion

Subversion is built on a portability layer called
APR—the Apache Portable Runtime library. The APR library
provides all the interfaces that Subversion needs to function on
different operating systems: disk access, network access, memory
management, and so on. While Subversion is able to use Apache
HTTP Server (or, httpd) as one of its network
server programs, its dependence on APR does
not mean that httpd is a required
component. APR is a standalone library usable by any
application. It does mean, however, that Subversion clients and
servers run on any operating system
that httpd runs on: Windows, Linux, all
flavors of BSD, Mac OS X, NetWare, and others.

The easiest way to get Subversion is to download a binary
package built for your operating system. Subversion's web site
(http://subversion.apache.org) often has these
packages available for download, posted by volunteers. The site
usually contains graphical installer packages for users of
Microsoft operating systems. If you run a Unix-like operating
system, you can use your system's native package distribution
system (RPMs, DEBs, the ports tree, etc.) to get
Subversion.

Alternatively, you can build Subversion directly from source
code, though it's not always an easy task. (If you're not
experienced at building open source software packages, you're
probably better off downloading a binary distribution instead!)
From the Subversion web site, download the latest source code
release. After unpacking it, follow the instructions in
the INSTALL file to build it.

If you're one of those folks that likes to use bleeding-edge
software, you can also get the Subversion source code from the
Subversion repository in which it lives. Obviously, you'll need
to already have a Subversion client on hand to do this. But
once you do, you can check out a working copy from
http://svn.apache.org/repos/asf/subversion[83]:

$ svn checkout http://svn.apache.org/repos/asf/subversion/trunk subversion
A subversion/HACKING
A subversion/INSTALL
A subversion/README
A subversion/autogen.sh
A subversion/build.conf
…

The preceding command will create a working copy of the
latest (unreleased) Subversion source code into a subdirectory
named subversion in your current working
directory. You can adjust that last argument as you see fit.
Regardless of what you call the new working copy directory,
though, after this operation completes, you will now have the
Subversion source code. Of course, you will still need to fetch
a few helper libraries (apr, apr-util, etc.)—see the
INSTALL file in the top level of the
working copy for details.

[83] Note that the URL checked out in the example
ends not with subversion, but with a
subdirectory thereof called trunk. See our
discussion of Subversion's branching and tagging model for the
reasoning behind this.