<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Runtime Configuration Area</title><link rel="stylesheet" href="styles.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><link rel="start" href="index.html" title="Version Control with Subversion" /><link rel="up" href="svn.customization.html" title="Chapter 7. Customizing Your Subversion Experience" /><link rel="prev" href="svn.customization.html" title="Chapter 7. Customizing Your Subversion Experience" /><link rel="next" href="svn.advanced.l10n.html" title="Localization" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Runtime Configuration Area</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="svn.customization.html">Prev</a> </td><th width="60%" align="center">Chapter 7. Customizing Your Subversion Experience</th><td width="20%" align="right"> <a accesskey="n" href="svn.advanced.l10n.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="svn.advanced.confarea"></a>Runtime Configuration Area</h2></div></div></div><p>Subversion provides many optional behaviors that can be controlled by the user. Many of these options are of the kind that a user would wish to apply to all Subversion operations. So, rather than forcing users to remember command-line arguments for specifying these options, and to use them for every operation they perform, Subversion uses configuration files, segregated into a Subversion configuration area.</p><p>The Subversion <em class="firstterm">configuration area</em> is a two-tiered hierarchy of option names and their values. Usually, this boils down to a special directory that contains <em class="firstterm">configuration files</em> (the first tier), which are just text files in standard INI format (with “<span class="quote">sections</span>” providing the second tier). These files can be easily edited using your favorite text editor (such as Emacs or vi), and contain directives read by the client to determine which of several optional behaviors the user prefers.</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="svn.advanced.confarea.layout"></a>Configuration Area Layout</h3></div></div></div><p>The first time that the <span class="command"><strong>svn</strong></span> command-line client is executed, it creates a per-user configuration area. On Unix-like systems, this area appears as a directory named <code class="filename">.subversion</code> in the user's home directory. On Win32 systems, Subversion creates a folder named <code class="filename">Subversion</code>, typically inside the <code class="filename">Application Data</code> area of the user's profile directory (which, by the way, is usually a hidden directory). However, on this platform the exact location differs from system to system, and is dictated by the Windows registry. <sup>[<a id="id404737" href="#ftn.id404737" class="footnote">50</a>]</sup> We will refer to the per-user configuration area using its Unix name, <code class="filename">.subversion</code>.</p><p>In addition to the per-user configuration area, Subversion also recognizes the existence of a system-wide configuration area. This gives system administrators the ability to establish defaults for all users on a given machine. Note that the system-wide configuration area does not alone dictate mandatory policy—the settings in the per-user configuration area override those in the system-wide one, and command-line arguments supplied to the <span class="command"><strong>svn</strong></span> program have the final word on behavior. On Unix-like platforms, the system-wide configuration area is expected to be the <code class="filename">/etc/subversion</code> directory; on Windows machines, it looks for a <code class="filename">Subversion</code> directory inside the common <code class="filename">Application Data</code> location (again, as specified by the Windows Registry). Unlike the per-user case, the <span class="command"><strong>svn</strong></span> program does not attempt to create the system-wide configuration area.</p><p>The per-user configuration area currently contains three files—two configuration files (<code class="filename">config</code> and <code class="filename">servers</code>), and a <code class="filename">README.txt</code> file which describes the INI format. At the time of their creation, the files contain default values for each of the supported Subversion options, mostly commented out and grouped with textual descriptions about how the values for the key affect Subversion's behavior. To change a certain behavior, you need only to load the appropriate configuration file into a text editor, and modify the desired option's value. If at any time you wish to have the default configuration settings restored, you can simply remove (or rename) your configuration directory and then run some innocuous <span class="command"><strong>svn</strong></span> command, such as <span class="command"><strong>svn --version</strong></span>. A new configuration directory with the default contents will be created.</p><p>The per-user configuration area also contains a cache of authentication data. The <code class="filename">auth</code> directory holds a set of subdirectories that contain pieces of cached information used by Subversion's various supported authentication methods. This directory is created in such a way that only the user herself has permission to read its contents.</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="svn.advanced.confarea.windows-registry"></a>Configuration and the Windows Registry</h3></div></div></div><p>In addition to the usual INI-based configuration area, Subversion clients running on Windows platforms may also use the Windows registry to hold the configuration data. The option names and their values are the same as in the INI files. The “<span class="quote">file/section</span>” hierarchy is preserved as well, though addressed in a slightly different fashion—in this schema, files and sections are just levels in the registry key tree.</p><p>Subversion looks for system-wide configuration values under the <code class="literal">HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion</code> key. For example, the <code class="literal">global-ignores</code> option, which is in the <code class="literal">miscellany</code> section of the <code class="filename">config</code> file, would be found at <code class="literal">HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores</code>. Per-user configuration values should be stored under <code class="literal">HKEY_CURRENT_USER\Software\Tigris.org\Subversion</code>. </p><p>Registry-based configuration options are parsed <span class="emphasis"><em>before</em></span> their file-based counterparts, so are overridden by values found in the configuration files. In other words, Subversion looks for configuration information in the following locations on a Windows system; lower-numbered locations take precedence over higher-numbered locations:</p><div class="orderedlist"><ol type="1"><li><p>Command-line options</p></li><li><p>The per-user INI files</p></li><li><p>The per-user Registry values</p></li><li><p>The system-wide INI files</p></li><li><p>The system-wide Registry values</p></li></ol></div><p>Also, the Windows Registry doesn't really support the notion of something being “<span class="quote">commented out</span>”. However, Subversion will ignore any option key whose name begins with a hash (<code class="literal">#</code>) character. This allows you to effectively comment out a Subversion option without deleting the entire key from the Registry, obviously simplifying the process of restoring that option.</p><p>The <span class="command"><strong>svn</strong></span> command-line client never attempts to write to the Windows Registry, and will not attempt to create a default configuration area there. You can create the keys you need using the <span class="command"><strong>REGEDIT</strong></span> program. Alternatively, you can create a <code class="filename">.reg</code> file, and then double-click on that file from the Explorer shell, which will cause the data to be merged into your registry.</p><div class="example"><a id="svn.advanced.confarea.windows-registry.ex-1"></a><p class="title"><b>Example 7.1. Sample Registration Entries (.reg) File.</b></p><div class="example-contents"><pre class="programlisting"> REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\groups] [HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\global] "#http-proxy-host"="" "#http-proxy-port"="" "#http-proxy-username"="" "#http-proxy-password"="" "#http-proxy-exceptions"="" "#http-timeout"="0" "#http-compression"="yes" "#neon-debug-mask"="" "#ssl-authority-files"="" "#ssl-trust-default-ca"="" "#ssl-client-cert-file"="" "#ssl-client-cert-password"="" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth] "#store-passwords"="yes" "#store-auth-creds"="yes" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\helpers] "#editor-cmd"="notepad" "#diff-cmd"="" "#diff3-cmd"="" "#diff3-has-program-arg"="" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\tunnels] [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany] "#global-ignores"="*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store" "#log-encoding"="" "#use-commit-times"="" "#no-unlock"="" "#enable-auto-props"="" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auto-props] </pre></div></div><br class="example-break" /><p>The previous example shows the contents of a <code class="filename">.reg</code> file which contains some of the most commonly used configuration options and their default values. Note the presence of both system-wide (for network proxy-related options) and per-user settings (editor programs and password storage, among others). Also note that all the options are effectively commented out. You need only to remove the hash (<code class="literal">#</code>) character from the beginning of the option names, and set the values as you desire.</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="svn.advanced.confarea.opts"></a>Configuration Options</h3></div></div></div><p>In this section, we will discuss the specific run-time configuration options that are currently supported by Subversion.</p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="svn.advanced.confarea.opts.servers"></a>Servers</h4></div></div></div><p>The <code class="filename">servers</code> file contains Subversion configuration options related to the network layers. There are two special section names in this file—<code class="literal">groups</code> and <code class="literal">global</code>. The <code class="literal">groups</code> section is essentially a cross-reference table. The keys in this section are the names of other sections in the file; their values are <em class="firstterm">globs</em>—textual tokens which possibly contain wildcard characters—that are compared against the hostnames of the machine to which Subversion requests are sent.</p><pre class="programlisting"> [groups] beanie-babies = *.red-bean.com collabnet = svn.collab.net [beanie-babies] … [collabnet] … </pre><p>When Subversion is used over a network, it attempts to match the name of the server it is trying to reach with a group name under the <code class="literal">groups</code> section. If a match is made, Subversion then looks for a section in the <code class="filename">servers</code> file whose name is the matched group's name. From that section it reads the actual network configuration settings.</p><p>The <code class="literal">global</code> section contains the settings that are meant for all of the servers not matched by one of the globs under the <code class="literal">groups</code> section. The options available in this section are exactly the same as those valid for the other server sections in the file (except, of course, the special <code class="literal">groups</code> section), and are as follows:</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">http-proxy-exceptions</code></span></dt><dd><p>This specifies a comma-separated list of patterns for repository hostnames that should accessed directly, without using the proxy machine. The pattern syntax is the same as is used in the Unix shell for filenames. A repository hostname matching any of these patterns will not be proxied.</p></dd><dt><span class="term"><code class="literal">http-proxy-host</code></span></dt><dd><p>This specifies the hostname of the proxy computer through which your HTTP-based Subversion requests must pass. It defaults to an empty value, which means that Subversion will not attempt to route HTTP requests through a proxy computer, and will instead attempt to contact the destination machine directly.</p></dd><dt><span class="term"><code class="literal">http-proxy-port</code></span></dt><dd><p>This specifies the port number on the proxy host to use. It defaults to an empty value.</p></dd><dt><span class="term"><code class="literal">http-proxy-username</code></span></dt><dd><p>This specifies the username to supply to the proxy machine. It defaults to an empty value.</p></dd><dt><span class="term"><code class="literal">http-proxy-password</code></span></dt><dd><p>This specifies the password to supply to the proxy machine. It defaults to an empty value.</p></dd><dt><span class="term"><code class="literal">http-timeout</code></span></dt><dd><p>This specifies the amount of time, in seconds, to wait for a server response. If you experience problems with a slow network connection causing Subversion operations to time out, you should increase the value of this option. The default value is <code class="literal">0</code>, which instructs the underlying HTTP library, Neon, to use its default timeout setting.</p></dd><dt><span class="term"><code class="literal">http-compression</code></span></dt><dd><p>This specifies whether or not Subversion should attempt to compress network requests made to DAV-ready servers. The default value is <code class="literal">yes</code> (though compression will only occur if that capability is compiled into the network layer). Set this to <code class="literal">no</code> to disable compression, such as when debugging network transmissions.</p></dd><dt><span class="term"><code class="literal">http-auth-types</code></span></dt><dd><p>### TODO ###</p></dd><dt><span class="term"><code class="literal">http-library</code></span></dt><dd><p>### TODO ###</p></dd><dt><span class="term"><code class="literal">neon-debug-mask</code></span></dt><dd><p>This is an integer mask that the underlying HTTP library, Neon, uses for choosing what type of debugging output to yield. The default value is <code class="literal">0</code>, which will silence all debugging output. For more information about how Subversion makes use of Neon, see <a class="xref" href="svn.developer.html" title="Chapter 8. Embedding Subversion">Chapter 8, <i>Embedding Subversion</i></a>.</p></dd><dt><span class="term"><code class="literal">ssl-authority-files</code></span></dt><dd><p>This is a semicolon-delimited list of paths to files containing certificates of the certificate authorities (or CAs) that are accepted by the Subversion client when accessing the repository over HTTPS.</p></dd><dt><span class="term"><code class="literal">ssl-trust-default-ca</code></span></dt><dd><p>Set this variable to <code class="literal">yes</code> if you want Subversion to automatically trust the set of default CAs that ship with OpenSSL.</p></dd><dt><span class="term"><code class="literal">ssl-client-cert-file</code></span></dt><dd><p>If a host (or set of hosts) requires an SSL client certificate, you'll normally be prompted for a path to your certificate. By setting this variable to that same path, Subversion will be able to find your client certificate automatically without prompting you. There's no standard place to store your certificate on disk; Subversion will grab it from any path you specify.</p></dd><dt><span class="term"><code class="literal">ssl-client-cert-password</code></span></dt><dd><p>If your SSL client certificate file is encrypted by a passphrase, Subversion will prompt you for the passphrase whenever the certificate is used. If you find this annoying (and don't mind storing the password in the <code class="filename">servers</code> file), then you can set this variable to the certificate's passphrase. You won't be prompted anymore.</p></dd></dl></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="svn.advanced.confarea.opts.config"></a>Config</h4></div></div></div><p>The <code class="filename">config</code> file contains the rest of the currently available Subversion run-time options, those not related to networking. There are only a few options in use as of this writing, but they are again grouped into sections in expectation of future additions.</p><p>The <code class="literal">auth</code> section contains settings related to Subversion's authentication and authorization against the repository. It contains:</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">store-passwords</code></span></dt><dd><p>This instructs Subversion to cache, or not to cache, passwords that are supplied by the user in response to server authentication challenges. The default value is <code class="literal">yes</code>. Set this to <code class="literal">no</code> to disable this on-disk password caching. You can override this option for a single instance of the <span class="command"><strong>svn</strong></span> command using the <code class="option">--no-auth-cache</code> command-line parameter (for those subcommands that support it). For more information, see <a class="xref" href="svn.serverconfig.netmodel.html#svn.serverconfig.netmodel.credcache" title="Client Credentials Caching">the section called “Client Credentials Caching”</a>.</p></dd><dt><span class="term"><code class="literal">store-auth-creds</code></span></dt><dd><p>This setting is the same as <code class="literal">store-passwords</code>, except that it enables or disables disk-caching of <span class="emphasis"><em>all</em></span> authentication information: usernames, passwords, server certificates, and any other types of cacheable credentials.</p></dd></dl></div><p>The <code class="literal">helpers</code> section controls which external applications Subversion uses to accomplish its tasks. Valid options in this section are:</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">editor-cmd</code></span></dt><dd><p>This specifies the program Subversion will use to query the user for a log message during a commit operation, such as when using <span class="command"><strong>svn commit</strong></span> without either the <code class="option">--message</code> (<code class="option">-m</code>) or <code class="option">--file</code> (<code class="option">-F</code>) options. This program is also used with the <span class="command"><strong>svn propedit</strong></span> command—a temporary file is populated with the current value of the property the user wishes to edit, and the edits take place right in the editor program (see <a class="xref" href="svn.advanced.props.html" title="Properties">the section called “Properties”</a>). This option's default value is empty. The order of priority for determining the editor command (where lower-numbered locations take precedence over higher-numbered locations) is:</p><div class="orderedlist"><ol type="1"><li><p>Command-line option <code class="literal">--editor-cmd</code></p></li><li><p>Environment variable <code class="literal">SVN_EDITOR</code></p></li><li><p>Configuration option <code class="literal">editor-cmd</code></p></li><li><p>Environment variable <code class="literal">VISUAL</code></p></li><li><p>Environment variable <code class="literal">EDITOR</code></p></li><li><p>Possibly, a default value built in to Subversion (not present in the official builds)</p></li></ol></div><p>The value of any of these options or variables is (unlike <code class="literal">diff-cmd</code>) the beginning of a command line to be executed by the shell. Subversion appends a space and the pathname of the temporary file to be edited. The editor should modify the temporary file and return a zero exit code to indicate success.</p></dd><dt><span class="term"><code class="literal">diff-cmd</code></span></dt><dd><p>This specifies the absolute path of a differencing program, used when Subversion generates “<span class="quote">diff</span>” output (such as when using the <span class="command"><strong>svn diff</strong></span> command). By default Subversion uses an internal differencing library—setting this option will cause it to perform this task using an external program. See <a class="xref" href="svn.advanced.externaldifftools.html" title="Using External Differencing and Merge Tools">the section called “Using External Differencing and Merge Tools”</a> for more details on using such programs.</p></dd><dt><span class="term"><code class="literal">diff3-cmd</code></span></dt><dd><p>This specifies the absolute path of a three-way differencing program. Subversion uses this program to merge changes made by the user with those received from the repository. By default Subversion uses an internal differencing library—setting this option will cause it to perform this task using an external program. See <a class="xref" href="svn.advanced.externaldifftools.html" title="Using External Differencing and Merge Tools">the section called “Using External Differencing and Merge Tools”</a> for more details on using such programs.</p></dd><dt><span class="term"><code class="literal">diff3-has-program-arg</code></span></dt><dd><p>This flag should be set to <code class="literal">true</code> if the program specified by the <code class="literal">diff3-cmd</code> option accepts a <code class="option">--diff-program</code> command-line parameter.</p></dd><dt><span class="term"><code class="literal">merge-tool-cmd</code></span></dt><dd><p>This specifies the program that Subversion will use to perform three-way merge operations on your versioned files. See <a class="xref" href="svn.advanced.externaldifftools.html" title="Using External Differencing and Merge Tools">the section called “Using External Differencing and Merge Tools”</a> for more details on using such programs.</p></dd></dl></div><p>The <code class="literal">tunnels</code> section allows you to define new tunnel schemes for use with <span class="command"><strong>svnserve</strong></span> and <code class="literal">svn://</code> client connections. For more details, see <a class="xref" href="svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.sshauth" title="Tunneling over SSH">the section called “Tunneling over SSH”</a>.</p><p>The <code class="literal">miscellany</code> section is where everything that doesn't belong elsewhere winds up. <sup>[<a id="id405912" href="#ftn.id405912" class="footnote">51</a>]</sup> In this section, you can find:</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">global-ignores</code></span></dt><dd><p>When running the <span class="command"><strong>svn status</strong></span> command, Subversion lists unversioned files and directories along with the versioned ones, annotating them with a <code class="literal">?</code> character (see <a class="xref" href="svn.tour.cycle.html#svn.tour.cycle.examine.status" title="See an overview of your changes">the section called “See an overview of your changes”</a>). Sometimes, it can be annoying to see uninteresting, unversioned items—for example, object files that result from a program's compilation—in this display. The <code class="literal">global-ignores</code> option is a list of whitespace-delimited globs which describe the names of files and directories that Subversion should not display unless they are versioned. The default value is <code class="literal">*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store</code>.</p><p>As well as <span class="command"><strong>svn status</strong></span>, the <span class="command"><strong>svn add</strong></span> and <span class="command"><strong>svn import</strong></span> commands also ignore files that match the list when they are scanning a directory. You can override this behaviour for a single instance of any of these commands by explicitly specifying the file name, or by using the <code class="option">--no-ignore</code> command-line flag.</p><p>For information on more fine-grained control of ignored items, see <a class="xref" href="svn.advanced.props.special.ignore.html" title="Ignoring Unversioned Items">the section called “Ignoring Unversioned Items”</a>.</p></dd><dt><span class="term"><code class="literal">enable-auto-props</code></span></dt><dd><p>This instructs Subversion to automatically set properties on newly added or imported files. The default value is <code class="literal">no</code>, so set this to <code class="literal">yes</code> to enable Auto-props. The <code class="literal">auto-props</code> section of this file specifies which properties are to be set on which files.</p></dd><dt><span class="term"><code class="literal">log-encoding</code></span></dt><dd><p>This variable sets the default character set encoding for commit log messages. It's a permanent form of the <code class="option">--encoding</code> option (see <a class="xref" href="svn.ref.svn.html#svn.ref.svn.sw" title="svn Options">the section called “<span class="command"><strong>svn</strong></span> Options”</a>). The Subversion repository stores log messages in UTF-8, and assumes that your log message is written using your operating system's native locale. You should specify a different encoding if your commit messages are written in any other encoding.</p></dd><dt><span class="term"><code class="literal">use-commit-times</code></span></dt><dd><p>Normally your working copy files have timestamps that reflect the last time they were touched by any process, whether that be your own editor or by some <span class="command"><strong>svn</strong></span> subcommand. This is generally convenient for people developing software, because build systems often look at timestamps as a way of deciding which files need to be recompiled.</p><p>In other situations, however, it's sometimes nice for the working copy files to have timestamps that reflect the last time they were changed in the repository. The <span class="command"><strong>svn export</strong></span> command always places these “<span class="quote">last-commit timestamps</span>” on trees that it produces. By setting this config variable to <code class="literal">yes</code>, the <span class="command"><strong>svn checkout</strong></span>, <span class="command"><strong>svn update</strong></span>, <span class="command"><strong>svn switch</strong></span>, and <span class="command"><strong>svn revert</strong></span> commands will also set last-commit timestamps on files that they touch.</p></dd><dt><span class="term"><code class="literal">mime-types-file</code></span></dt><dd><p>### TODO ###</p></dd><dt><span class="term"><code class="literal">preserved-conflict-file-exts</code></span></dt><dd><p>### TODO ###</p></dd><dt><span class="term"><code class="literal">interactive-conflicts</code></span></dt><dd><p>### TODO ###</p></dd><dt><span class="term"><code class="literal">no-unlock</code></span></dt><dd><p>### TODO ###</p></dd></dl></div><p>The <code class="literal">auto-props</code> section controls the Subversion client's ability to automatically set properties on files when they are added or imported. It contains any number of key-value pairs in the format <code class="literal">PATTERN = PROPNAME=PROPVALUE</code> where <code class="literal">PATTERN</code> is a file pattern that matches a set of filenames and the rest of the line is the property and its value. Multiple matches on a file will result in multiple propsets for that file; however, there is no guarantee that auto-props will be applied in the order in which they are listed in the config file, so you can't have one rule “<span class="quote">override</span>” another. You can find several examples of auto-props usage in the <code class="filename">config</code> file. Lastly, don't forget to set <code class="literal">enable-auto-props</code> to <code class="literal">yes</code> in the <code class="literal">miscellany</code> section if you want to enable auto-props.</p></div></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.id404737" href="#id404737" class="para">50</a>] </sup>The <code class="literal">APPDATA</code> environment variable points to the <code class="filename">Application Data</code> area, so you can always refer to this folder as <code class="filename">%APPDATA%\Subversion</code>.</p></div><div class="footnote"><p><sup>[<a id="ftn.id405912" href="#id405912" class="para">51</a>] </sup>Anyone for potluck dinner?</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="svn.customization.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="svn.customization.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="svn.advanced.l10n.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 7. Customizing Your Subversion Experience </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Localization</td></tr></table></div></body></html>