该目录包含 Subversion 客户端的运行时配置信息。 所有配置文件都共享相同的语法,但是仍应该检查每一个特定的文件,以了解哪些配置指令对该文件有效。
语法为标准的 INI
格式:
空行和以 “#
” 开头的行将被忽略。文件中的第一个有意义的行必须是段标题。
每个段以段标题开头,该段标题必须从第一列开始:
[section-name]
每个选项,必须始终出现在一个段中,是一对 (名称,
值)
。有两种有效的形式可用于定义选项,两者都必须从第一列开始:
name:
value
name =
value
分隔符 (:
,=
) 周围的空格是可选的。
段和选项的名称不区分大小写,但保留大小写。
一个选项的值可以分为几行。值的后续行必须至少以一个空格开头。 前一行中末尾的空格,换行符和续行中的前导空格将被压缩为单个空格字符。
值周围所有的前导和尾随空白将被裁切,但保留值内的空白。如上所述,行连续处的空白除外。
当值是布尔值时,以下任何字符串都将被识别为有效值(大小写无关紧要):
true false
yes no
on off
1 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_MACHINE
HKCU
对应 HKEY_CURRENT_USER
config-key
中的值表示 [DEFAULT]
段中的选项。config-key
下面的键表示其它段,其下的值表示段选项。值仅使用名称不以
“#
” 开头的 REG_SZ
类型来表示;其他值以及键的默认值将被忽略。
通常,Subversion 使用两个配置目录,一个用于站点范围的配置:
Unix:
/etc/subversion/servers
/etc/subversion/config
/etc/subversion/hairstyles
Windows:
%ALLUSERSPROFILE%\Application Data\Subversion\servers
%ALLUSERSPROFILE%\Application Data\Subversion\config
%ALLUSERSPROFILE%\Application Data\Subversion\hairstyles
REGISTRY:HKLM\Software\Tigris.org\Subversion\Servers
REGISTRY:HKLM\Software\Tigris.org\Subversion\Config
REGISTRY:HKLM\Software\Tigris.org\Subversion\Hairstyles
一个用于每个用户的配置:
Unix:
~/.subversion/servers
~/.subversion/config
~/.subversion/hairstyles
Windows:
%APPDATA%\Subversion\servers
%APPDATA%\Subversion\config
%APPDATA%\Subversion\hairstyles
REGISTRY:HKCU\Software\Tigris.org\Subversion\Servers
REGISTRY:HKCU\Software\Tigris.org\Subversion\Config
REGISTRY:HKCU\Software\Tigris.org\Subversion\Hairstyles