客户端配置文件: config (路径 ~/.subversion/config):

### 该文件配置各种客户端行为。

###

### 下面注释掉的示例旨在演示如何使用该文件。

 

### 定制认证和授权部分。

[auth]

### 设置 Subversion 所使用的密码存储区。它们应以空格或逗号分隔。值的顺序确定使用密码存储区的顺序。

### 有效的密码存储区:

###   gnome-keyring     (类 Unix 系统)

###   kwallet           (类 Unix 系统)

###   gpg-agent         (类 Unix 系统)

###   keychain          (Mac OS X)

###   windows-cryptoapi (Windows)

# password-stores = keychain

### 要禁用所有密码存储区,请使用一个空列表:

# password-stores =

###

### 如果将 ssl-client-cert-file-prompt 设置为 “yes”, 在服务器请求客户端证书,但是在预期的位置 (参见

### “servers” 配置文件中的 “ssl-client-cert-file” 选项) 找不到客户端证书文件时,客户端则会提示输入客

### 端则会提示输入客户端证书文件的路径。默认设置为 “no”。

# ssl-client-cert-file-prompt = no

###

### 该文件 [auth] 段的后续部分已被弃用。 现在,可在配置目录的 “servers” 文件中指定 “store-passwords

### 和 “store-auth-creds”,并在此处进行记录。本节中指定的所有内容均会被 “servers” 文件中指定的设置所

### 覆盖。

# store-passwords = no

# store-auth-creds = no

 

### 配置外部辅助程序部分。

[helpers]

### 可将 editor-cmd 设置为调用文本编辑器的命令,它将覆盖 Subversion 默认用来检查并获取该信息的环境变

### 量 ($EDITOR,等)。

# editor-cmd = editor (vi, emacs, notepad, 等)

### 可将 diff-cmd 设置为比较程序的绝对路径,它将会覆盖 Subversion 编译时的默认设置,即其内部实现的比

### 较功能。

# diff-cmd = diff_program (diff, gdiff, 等)

### 该 diff-extensions 选项用来定义传递给外部比较程序,或者 Subversion 内部所实现比较功能的参数。 设

### 置 diff-extensions 将覆盖默认参数 (“-u”)。

# diff-extensions = -u -p

### 可将 diff3-cmd 设置为三路比较程序的绝对路径, 它将会覆盖 Subversion 编译时的默认设置,即其内部实

### 现的三路比较功能。

# diff3-cmd = diff3_program (diff3, gdiff3, 等)

### 如果你的三路比较程序接受 “--diff-program” 选项,可以将 diff3-has-program-arg 设置为 “yes”。

# diff3-has-program-arg = [yes | no]

### merge-tool-cmd 用来设置调用所选外部合并工具的命令,Subversion 将向该命令传输五个参数:

###   base(BASE 版) theirs(别人的) mine(我的) merged(合并的) wcfile(工作副本)

# merge-tool-cmd = merge_command

 

### 配置隧道代理部分。

[tunnels]

### 此处配置 svn 协议的隧道方案。 默认情况下,仅定义了 “ssh” 方案。还可以定义其它方案如 scheme,使用

### 该方案的 URL 格式为 “svn+scheme://hostname/path”。方案定义只是一个命令,可以在其前面加一个环境变

### 量名称,如果定义了该变量,则可以覆盖该命令。该命令 (或环境变量) 可以包含参数,对于带空格的参数需

### 使用标准的 shell 引号格式。该命令将以以下方式被调用:

###   <command> <hostname> svnserve -t

### (如果 URL 包括用户名,主机部分将以 <user>@<hostname> 的格式传递至隧道代理)。 如果内置的 ssh 方案

### 没有定义,则可以将其定义为:

# ssh = $SVN_SSH ssh -q --

### 如果要定义一个新的 “rsh” 方案,以便使用 “svn+rsh:” 形式的 URL,则可以添加以下行:

# rsh = rsh --

### 或者,指定完整的路径名和参数:

# rsh = /path/to/rsh -l myusername --

### 在 Windows 系统中,如果要指定命令的完整路径,请使用正斜杠 (/) 或者成对的反斜杠 (\\) 作为路径分隔

### 符。单个反斜杠将被视为下一个字符的转义符。

 

### Subversion 其它杂项配置部分。

[miscellany]

### global-ignores 设置项可设置为一组由空格分隔的 Glob 通配符,Subversion 将会在其 “status” 命令的输

### 出中、以及导入或添加文件和目录时忽略它们。“*” 可以匹配前面的点,如 “*.rej” 可以匹配 “.foo.rej”。

# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo

#   __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db

### 使用 log-encoding 为日志消息设置默认编码。

# log-encoding = latin1

### 设置 use-commit-times  将导致 检出/更新/切换/恢复 时对每个操作的文件设置最后提交的时间戳。

# use-commit-times = yes

### 设置 no-unlock 可以防止 “svn commit” 命令自动释放文件锁。

# no-unlock = yes

### 设置 mime-types-file 为 MIME 类型注册文件。 该文件可用于向 Subversion 的 MIME 类型自动检测算法提

### 供提示。

# mime-types-file = /path/to/mime.types

### 设置 reserved-conflict-file-exts 为以空格分隔的文件扩展名匹配模版列表, 在生成的冲突文件名时这些

### 文件扩展名应保留。默认情况下,冲突文件使用定制的扩展名。

# preserved-conflict-file-exts = doc ppt xls od?

### 将 enable-auto-props 设置为 “yes”, 以启用 “svn add” 和 “svn import” 命令的自动属性功能,默认值为

### “no”。自动属性值在 “auto-props” 段中定义。

# enable-auto-props = yes

### 自动设置 svn:mime-type 属性时,将 enable-magic-file 设置为 “no” 以禁用文件类型的魔术文件检测。如

### 果可以支持魔术文件,则默认为 “yes”。

# enable-magic-file = yes

### 将 interactive-conflicts 设置为 “no” 可以禁用交互式冲突解决的提示。 默认值为 “yes”。

# interactive-conflicts = no

### 设置 memory-cache-size 以定义通过 ra_local (file:// 方案) 访问 FSFS 版本库时客户端所使用的内存缓

### 存大小。该值表示高速缓存所使用的 MB 数。

# memory-cache-size = 16

### 将 diff-ignore-content-type 设置为 “yes”  可使 “svn diff” 命令尝试显示所有已修改文件的差异,而不

### 管它们的 MIME 内容类型如何。默认情况下,Subversion 仅尝试显示那些内容可以被人类所阅读 (非二进制)

### 文件的差异。当 Subversion 被配置为 (通过 “diff-cmd” 选项) 使用外部差异工具,且该工具能够以有意义

### 的方式显示二进制文件格式的差异时,该选项特别有用。[1.9 版中的新功能]

# diff-ignore-content-type = no

 

### 配置自动属性部分。

[auto-props]

### 条目的格式为:

###   file-name-pattern = propname[=value][;propname[=value]...]

### 文件名模版 “file-name-pattern” 可包含通配符 (例如 “*” 和 “?”)。 所有匹配 (不区分大小写)的条目都

### 将应用于文件。请注意,必须启用自动属性功能,通常通过设置 “enable-auto-props” 选项来完成。

# *.c = svn:eol-style=native

# *.cpp = svn:eol-style=native

# *.h = svn:keywords=Author Dated Rev URL;svn:eol-style=native

# *.dsp = svn:eol-style=CRLF

# *.dsw = svn:eol-style=CRLF

# *.sh = svn:eol-style=native;svn:executable

# *.txt = svn:eol-style=native;svn:keywords=Author Date Id Rev URL;

# *.png = svn:mime-type=image/png

# *.jpg = svn:mime-type=image/jpeg

# Makefile = svn:eol-style=native

 

### 配置工作副本部分。

[working-copy]

### 设置使用工作副本 SQLite 独占锁定的客户端名称列表。这样可以提高其它客户端的性能,并防止客户端并发

### 访问。第三方客户端也可能支持此选项。可能的值:

###   svn     (命令行客户端)

# exclusive-locking-clients =

### 设置为 true 将允许所有使用 1.8 版 API 的客户端对工作副本的 SQLite 进行独占式锁定。启用此功能可能

### 会导致某些客户端无法正常工作。客户端独占锁定并不是正常工作所必须的设置。

# exclusive-locking = false

### 设置 SQLite 繁忙超时 (以毫秒为单位): 客户端在返回错误之前等待访问 SQLite 数据库的最长时间。缺省

### 值为 10000,即 10 秒。当启用独占锁定时,有必要设置为较长的值。

# busy-timeout = 10000