The first time the svn command-line client is executed, it creates a per-user configuration area. On Unix-like systems, this area appears as a directory named .subversion in the user’s home directory. On Win32 systems, Subversion creates a folder named Subversion, typically inside the Application Data 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.[49] We will refer to the per-user configuration area using its Unix name, .subversion.
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 alone does not 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 svn program have the final word on behavior. On Unix-like platforms, the system-wide configuration area is expected to be the /etc/subversion directory; on Windows machines, it looks for a Subversion directory inside the common Application Data location (again, as specified by the Windows Registry). Unlike the per-user case, the svn program does not attempt to create the system-wide configuration area.
The per-user configuration area currently contains three files—two
configuration files (config and
servers), and a README.txt 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 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
svn command, such as svn
--version
. A new configuration directory with the default
contents will be created.
The per-user configuration area also contains a cache of authentication data. The auth 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 himself has permission to read its contents.
[49] The APPDATA
environment
variable points to the Application
Data area, so you can always refer to this folder as
%APPDATA%Subversion.