
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
174
|
Chapter 8: Developer Information
they use a double underscore (__). Functions that are private to a given source file
have no special prefixing, and are declared
static. Of course, a compiler isn’t inter-
ested in these naming conventions, but they definitely help to clarify the scope of a
given function or datatype.
The Apache Portable Runtime Library
Along with Subversion’s own datatype, you will see many references to datatypes
that begin with
apr_—symbols from the Apache Portable Runtime (APR) library.
APR is Apache’s portability library, originally carved out of its server code as an
attempt to separate the OS-specific bits from the OS-independent portions of the
code. The result was a library that provides a generic API for performing operations
that differ mildly—or wildly—from OS to OS. While Apache HTTP Server was obvi-
ously the first user of the APR library, the Subversion developers immediately recog-
nized the value of using APR as well. This means that there are practically no OS-
specific code portions in Subversion itself. Also, it means that the Subversion client
compiles and runs anywhere that the server does. Currently this list includes all fla-
vors of Unix, Win32, BeOS, OS/2, and Mac OS X.
In addition to providing consistent implementations of system calls that ...