该目录包含 Subversion 客户端的运行时配置信息。 所有配置文件都共享相同的语法,但是仍应该检查每一个特定的文件,以了解哪些配置指令对该文件有效。
语法为标准的 INI 格式:
空行和以 “#” 开头的行将被忽略。文件中的第一个有意义的行必须是段标题。
每个段以段标题开头,该段标题必须从第一列开始:
[section-name]
每个选项,必须始终出现在一个段中,是一对 (名称,
值)。有两种有效的形式可用于定义选项,两者都必须从第一列开始:
name: value
name = value
分隔符 (:,=) 周围的空格是可选的。
段和选项的名称不区分大小写,但保留大小写。
一个选项的值可以分为几行。值的后续行必须至少以一个空格开头。 前一行中末尾的空格,换行符和续行中的前导空格将被压缩为单个空格字符。
值周围所有的前导和尾随空白将被裁切,但保留值内的空白。如上所述,行连续处的空白除外。
当值是布尔值时,以下任何字符串都将被识别为有效值(大小写无关紧要):
true falseyes noon off1 0当值是列表时,它用逗号分隔。同样,将裁切列表中每个元素周围的空格。
当值是列表时,它用逗号分隔。同样,将裁切列表中每个元素周围的空格。
通过将选项名称括在括号内,后跟一个百分号和一个 “s”,可以在一个值内扩展选项值:
%(name)s
扩展在读取选项期间按需递归执行。首先在同一个段中搜索选项名称,然后在特殊的
[DEFAULT] 段中搜索。如果找不到选项名称,则整个
“%(” 占位符将保持不变。name)s
对配置数据的任何修改都会使所有先前扩展的值变为无效,因此下一次读取选项时将考虑这些修改。
配置文件的语法是 Python 的ConfigParser 模块所使用语法的一个子集,参见:
http://www.python.org/doc/current/lib/module-ConfigParser.html
在 Windows 系统中,配置数据也可以存储在注册表中。当传递以下形式的文件名时,将从注册表中读取配置:
REGISTRY:<hive>/path/to/config-key
REGISTRY: 前缀必须大写,<hive>
部分必须是以下值之一:
HKLM 对应 HKEY_LOCAL_MACHINEHKCU 对应 HKEY_CURRENT_USERconfig-key 中的值表示 [DEFAULT]
段中的选项。config-key 下面的键表示其它段,其下的值表示段选项。值仅使用名称不以
“#” 开头的 REG_SZ 类型来表示;其他值以及键的默认值将被忽略。
通常,Subversion 使用两个配置目录,一个用于站点范围的配置:
Unix:
/etc/subversion/servers/etc/subversion/config/etc/subversion/hairstylesWindows:
%ALLUSERSPROFILE%\Application Data\Subversion\servers%ALLUSERSPROFILE%\Application Data\Subversion\config%ALLUSERSPROFILE%\Application Data\Subversion\hairstylesREGISTRY:HKLM\Software\Tigris.org\Subversion\ServersREGISTRY:HKLM\Software\Tigris.org\Subversion\ConfigREGISTRY:HKLM\Software\Tigris.org\Subversion\Hairstyles一个用于每个用户的配置:
Unix:
~/.subversion/servers~/.subversion/config~/.subversion/hairstylesWindows:
%APPDATA%\Subversion\servers%APPDATA%\Subversion\config%APPDATA%\Subversion\hairstylesREGISTRY:HKCU\Software\Tigris.org\Subversion\ServersREGISTRY:HKCU\Software\Tigris.org\Subversion\ConfigREGISTRY:HKCU\Software\Tigris.org\Subversion\Hairstyles