本文档仍在编写中,内容可能会发生较大变化,可能无法准确描述 Apache™ Subversion® 软件的任何已发布版本。将此页面添加为书签或向他人推荐此页面可能不是一个好主意。请访问 https://svnbook.subversion.org.cn/ 获取本书的稳定版本。

运行时配置区域

Subversion 提供了许多可选的行为,用户可以控制这些行为。许多选项都是用户希望应用于所有 Subversion 操作的选项。因此,为了避免用户记住用于指定这些选项的命令行参数并在执行的每个操作中使用它们,Subversion 使用配置文件,这些配置文件被隔离到一个 Subversion 配置区域中。

Subversion 的 运行时配置区域 是一个由选项名称及其值组成的两级层次结构。通常,这归结为一个包含配置文件(第一层)的特殊目录,这些文件只是标准 INI 格式的文本文件,其中 提供了第二层。您可以使用自己喜欢的文本编辑器(例如 Emacs 或 vi)轻松编辑这些文件,它们包含客户端读取的指令,以确定用户首选的几种可选行为中的哪一种。

配置区域布局

第一次执行 svn 命令行客户端时,它会创建一个用户特定的配置区域。在类 Unix 系统上,此区域显示为用户主目录中的名为 .subversion 的目录。在 Win32 系统上,Subversion 会创建一个名为 Subversion 的文件夹,通常位于用户配置文件目录的 Application Data 区域内(顺便说一句,通常是一个隐藏目录)。但是,在此平台上,确切位置因系统而异,由 Windows 注册表决定。[74] 我们将使用其 Unix 名称 .subversion 来引用用户特定的配置区域。

除了用户特定的配置区域外,Subversion 还识别系统范围配置区域的存在。这使系统管理员能够为给定机器上的所有用户建立默认值。请注意,系统范围配置区域本身并不规定强制策略——用户特定的配置区域中的设置会覆盖系统范围配置区域中的设置,并且提供给 svn 程序的命令行参数对行为具有最终决定权。在类 Unix 平台上,系统范围配置区域应该在 /etc/subversion 目录中;在 Windows 机器上,它会在公共 Application Data 位置(同样,由 Windows 注册表指定)中查找一个 Subversion 目录。与用户特定情况不同,svn 程序不会尝试创建系统范围配置区域。

用户特定的配置区域目前包含三个文件——两个配置文件 (configservers),以及一个 README.txt 文件,该文件描述了 INI 格式。在创建时,这些文件包含对每个支持的 Subversion 选项的默认值,大多数都被注释掉并与关于该键的值如何影响 Subversion 行为的文本描述分组在一起。要更改特定行为,您只需将相应的配置文件加载到文本编辑器中,并修改所需选项的值即可。如果您希望在任何时候恢复默认配置设置,您可以简单地删除(或重命名)您的配置目录,然后运行一些无害的 svn 命令,例如 svn --version。将创建一个包含默认内容的新配置目录。

Subversion 还允许您通过命令行上的 --config-option 选项覆盖单个配置选项值,如果您需要对行为进行(非常)临时的更改,这特别有用。有关此选项的正确用法,请参阅 svn 选项.

用户特定的配置区域还包含一个身份验证数据的缓存。 auth 目录包含一组子目录,这些子目录包含 Subversion 的各种支持的身份验证方法使用的缓存信息片段。该目录的创建方式使得只有用户自己才有权读取其内容。

配置和 Windows 注册表

除了通常的基于 INI 的配置区域外,在 Windows 平台上运行的 Subversion 客户端也可能使用 Windows 注册表来保存配置数据。选项名称及其值与 INI 文件中的相同。 文件/节 层次结构也得以保留,尽管以稍微不同的方式寻址——在此模式中,文件和节只是注册表键树中的级别。

Subversion 在 HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion 键下查找系统范围的配置值。例如,global-ignores 选项(位于 config 文件的 miscellany 节中)将位于 HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores。用户特定的配置值应存储在 HKEY_CURRENT_USER\Software\Tigris.org\Subversion 下。

基于注册表的配置选项在解析其基于文件的对应项 之前 解析,因此它们将被配置文件中找到的值覆盖。换句话说,Subversion 在 Windows 系统上的以下位置查找配置信息;编号较低的位置优先于编号较高的位置

  1. 命令行选项

  2. 用户特定的 INI 文件

  3. 用户特定的注册表值

  4. 系统范围 INI 文件

  5. 系统范围注册表值

此外,Windows 注册表并不真正支持 注释掉 的概念。但是,Subversion 将忽略任何名称以哈希 (#) 字符开头的选项键。这使您能够有效地注释掉 Subversion 选项而不删除注册表中的整个键,显然简化了恢复该选项的过程。

svn 命令行客户端永远不会尝试写入 Windows 注册表,也不会尝试在其中创建默认配置区域。您可以使用 REGEDIT 程序创建所需的键。或者,您可以创建一个 .reg 文件(例如 示例 7.1,“示例注册表项 (.reg) 文件” 中的文件),然后双击资源管理器外壳中该文件的图标,这将导致数据合并到您的注册表中。

示例 7.1. 示例注册表项 (.reg) 文件

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\groups]

[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\global]
"#http-auth-types"="basic;digest;negotiate"
"#http-compression"="yes"
"#http-library"=""
"#http-proxy-exceptions"=""
"#http-proxy-host"=""
"#http-proxy-password"=""
"#http-proxy-port"=""
"#http-proxy-username"=""
"#http-timeout"="0"
"#neon-debug-mask"=""
"#ssl-authority-files"=""
"#ssl-client-cert-file"=""
"#ssl-client-cert-password"=""
"#ssl-pkcs11-provider"=""
"#ssl-trust-default-ca"=""
"#store-auth-creds"="yes"
"#store-passwords"="yes"
"#store-plaintext-passwords"="ask"
"#store-ssl-client-cert-pp"="yes"
"#store-ssl-client-cert-pp-plaintext"="ask"
"#username"=""

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth]
"#password-stores"="windows-cryptoapi"

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\helpers]
"#diff-cmd"=""
"#diff-extensions"="-u"
"#diff3-cmd"=""
"#diff3-has-program-arg"=""
"#editor-cmd"="notepad"
"#merge-tool-cmd"=""

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\tunnels]

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"#enable-auto-props"="no"
"#global-ignores"="*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store"
"#interactive-conflicts"="yes"
"#log-encoding"=""
"#mime-types-file"=""
"#no-unlock"="no"
"#preserved-conflict-file-exts"="doc ppt xls od?"
"#use-commit-times"="no"

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auto-props]

示例 7.1,“示例注册表项 (.reg) 文件” 显示了一个 .reg 文件的内容,其中包含一些最常用的配置选项及其默认值。请注意系统范围(用于网络代理相关选项)和用户特定设置(编辑器程序和密码存储等)的存在。还要注意,所有选项都被有效地注释掉了。您只需从选项名称的开头删除哈希 (#) 字符,并根据需要设置值。

运行时配置选项

在本节中,我们将讨论 Subversion 目前支持的特定运行时配置选项。

常规配置

config 文件包含目前可用的 Subversion 运行时选项的其余部分——那些与网络无关的选项。截至目前,只有少数选项在使用中,但它们再次被分组到节中,以备将来添加更多选项。

[auth] 节包含与 Subversion 相对于存储库的身份验证和授权相关的设置。它包含以下内容

password-stores

此逗号分隔的列表指定 Subversion 在保存和检索缓存的身份验证凭据时应尝试使用哪些(如果有的话)系统提供的密码存储,以及 Subversion 应该按什么顺序优先使用它们。默认值为 gnome-keyring, kwallet, keychain, gpg-agent, windows-crypto-api,分别表示 GNOME 密钥环、KDE 钱包、Mac OS X 密钥串、GnuPG 代理和 Microsoft Windows 密码术 API。列出的在系统上不可用的存储会被忽略。

store-passwords

此选项已从 config 文件中弃用。它现在作为 servers 配置区域中的每个服务器配置项存在。有关详细信息,请参阅 名为“每个服务器配置”的部分.

store-auth-creds

此选项已从 config 文件中弃用。它现在作为 servers 配置区域中的每个服务器配置项存在。有关详细信息,请参阅 名为“每个服务器配置”的部分.

[helpers] 节控制 Subversion 使用哪些外部应用程序来完成其任务。此节中的有效选项包括

diff-cmd

这指定了差异程序的绝对路径,用于当 Subversion 生成 diff 输出时(例如,使用 svn diff 命令时)。默认情况下,Subversion 使用内部差异库——设置此选项将导致它使用外部程序来执行此任务。有关使用此类程序的更多详细信息,请参阅 名为“使用外部差异和合并工具”的部分.

diff-extensions

--extensions (-x) 命令行选项类似,这指定了传递给文件内容差异引擎的附加选项。有意义的扩展选项集因客户端是使用 Subversion 的内部差异引擎还是使用外部机制而异。有关详细信息,请参阅 svn help diff 的输出。此选项的默认值为 -u

diff3-cmd

这指定了三方差异程序的绝对路径。Subversion 使用此程序将用户所做的更改与从存储库接收到的更改合并。默认情况下,Subversion 使用内部差异库——设置此选项将导致它使用外部程序来执行此任务。有关使用此类程序的更多详细信息,请参阅 名为“使用外部差异和合并工具”的部分.

diff3-has-program-arg

如果 diff3-cmd 选项指定的程序接受 --diff-program 命令行参数,则应将此标志设置为 true

editor-cmd

这指定了 Subversion 用于查询用户以获取某些类型的文本元数据或在交互式地解决冲突时使用的程序。有关使用外部文本编辑器与 Subversion 的更多详细信息,请参阅 名为“使用外部编辑器”的部分.

merge-tool-cmd

此选项指定 Subversion 将用于对版本控制文件执行三方合并操作的程序。有关使用此类程序的更多详细信息,请参阅名为“使用外部差异和合并工具”的部分

The [tunnels] 部分允许您定义新的隧道方案,供 svnservesvn:// 客户端连接使用。有关更多详细信息,请参阅名为“通过 SSH 建立隧道”的部分

The [miscellany] 部分是所有不属于其他地方的内容的最终归宿。 [75] 在此部分中,您可以找到

enable-auto-props

此选项指示 Subversion 在添加或导入新文件时自动设置属性。默认值为 no,因此将其设置为 yes 以启用此功能。此文件的 [auto-props] 部分指定将在哪些文件上设置哪些属性。

global-ignores

运行 svn status 命令时,Subversion 会将未版本控制的文件和目录与版本控制的文件和目录一起列出,并在它们前面添加 ? 字符(请参阅名为“查看更改概述”的部分)。有时,看到无关的未版本控制的项目(例如,程序编译后产生的目标文件)会令人讨厌。The global-ignores 选项是一个空格分隔的 glob 列表,这些 glob 描述了 Subversion 应忽略的文件和目录的名称,除非它们是版本控制的。默认值为 *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store

除了 svn status 之外,svn addsvn import 命令也会在扫描目录时忽略与列表匹配的文件。您可以通过显式指定文件名或使用 --no-ignore 命令行标志来覆盖这些命令的单个实例中的此行为。

有关更细粒度的忽略项目控制的信息,请参阅名为“忽略未版本控制的项目”的部分

interactive-conflicts

这是一个布尔值选项,用于指定 Subversion 是否应尝试以交互方式解决冲突。如果其值为 yes(这是默认值),Subversion 将提示用户如何处理冲突,如名为“解决所有冲突”的部分所示。否则,它将简单地标记冲突并继续其操作,将解决推迟到以后的时间。

log-encoding

此变量设置提交日志消息的默认字符集编码。它是 --encoding 选项(请参阅svn 选项)的永久形式。Subversion 存储库以 UTF-8 存储日志消息,并假设您的日志消息使用操作系统的本机语言环境编写。如果您的提交消息使用其他编码编写,则应指定其他编码。

mime-types-file

此选项是 Subversion 1.5 中的新选项,它指定 MIME 类型映射文件的路径,例如 Apache HTTP Server 提供的 mime.types 文件。Subversion 使用此文件将 MIME 类型分配给新添加或导入的文件。有关 Subversion 检测和使用文件内容类型的更多信息,请参阅名为“自动属性设置”的部分名为“文件内容类型”的部分

no-unlock

此布尔值选项对应于 svn commit--no-unlock 选项,该选项告诉 Subversion 不要释放您刚刚提交的文件的锁。如果此运行时选项设置为 yes,Subversion 将永远不会自动释放锁,您需要显式运行 svn unlock。它默认为 no

preserved-conflict-file-exts

此选项的值是空格分隔的文件扩展名列表,Subversion 应在生成冲突文件名时保留这些扩展名。默认情况下,该列表为空。此选项是 Subversion 1.5 中的新选项。

当 Subversion 检测到冲突的文件内容更改时,它会将这些冲突的解决推迟到用户。为了帮助解决冲突,Subversion 会在工作副本中保留各个冲突版本的原始副本。默认情况下,这些冲突文件的名称是通过在原始文件名后添加自定义扩展名(例如 .mine.REV(其中 REV 是版本号))来构建的。这种命名方案的一个小问题是,在使用文件扩展名来确定用于打开和编辑该文件的默认应用程序的操作系统上,添加自定义扩展名会阻止该文件被其本机应用程序轻松打开。例如,如果文件 ReleaseNotes.pdf 发生冲突,则冲突文件的名称可能为 ReleaseNotes.pdf.mineReleaseNotes.pdf.r4231。虽然您的系统可能配置为使用 Adobe 的 Acrobat Reader 打开扩展名为 .pdf 的文件,但您的系统可能没有配置使用任何应用程序来打开所有扩展名为 .r4231 的文件。

不过,您可以使用此配置选项来解决此问题。对于具有指定扩展名的文件,Subversion 会像以前一样在冲突文件名后添加自定义扩展名,但还会重新添加该文件的原始扩展名。使用上面的示例,并假设 pdf 是此列表中配置的扩展名之一,则为 ReleaseNotes.pdf 生成的冲突文件将改为命名为 ReleaseNotes.pdf.mine.pdfReleaseNotes.pdf.r4231.pdf。因为每个文件都以 .pdf 结尾,所以将使用正确的默认应用程序来查看它们。

use-commit-times

通常,您的工作副本文件的时间戳反映了它们最后被任何进程(无论是您自己的编辑器还是某些 svn 子命令)触碰的时间。对于开发软件的人来说,这通常很方便,因为构建系统通常会查看时间戳以决定哪些文件需要重新编译。

但是,在其他情况下,有时让工作副本文件的时间戳反映它们最后在存储库中更改的时间会很方便。The svn export 命令始终将这些 最后提交时间戳 放置在它产生的树上。通过将此配置变量设置为 yes,The svn checkoutsvn updatesvn switchsvn revert 命令也会在它们触碰的文件上设置最后提交时间戳。

The [auto-props] 部分控制 Subversion 客户端在添加或导入文件时自动设置属性的功能。它包含任意数量的键值对,格式为 PATTERN = PROPNAME=VALUE[;PROPNAME=VALUE ...],其中 PATTERN 是匹配一个或多个文件名的文件模式,其余部分是分号分隔的属性赋值集。(如果需要在属性的名称或值中使用分号,则可以使用两个分号将其转义。)

$ cat ~/.subversion/config
…
[auto-props]
*.c = svn:eol-style=native
*.html = svn:eol-style=native;svn:mime-type=text/html;; charset=UTF8
*.sh = svn:eol-style=native;svn:executable
…
$ cd projects/myproject
$ svn status
?       www/index.html
$ svn add www/index.html
A         www/index.html
$ svn diff www/index.html
…

Property changes on: www/index.html
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/html; charset=UTF8
Added: svn:eol-style
## -0,0 +1 ##
+native
$

一个文件上的多个匹配将导致该文件上的多个 propset;但是,不能保证自动属性将按它们在配置文件中列出的顺序应用,因此您不能让一个规则 覆盖 另一个规则。您可以在 config 文件中找到几个自动属性使用示例。最后,不要忘记在 [miscellany] 部分中将 enable-auto-props 设置为 yes,如果您想要启用自动属性。

Subversion 1.8 中的新增功能是 [working-copy] 部分,用于配置工作副本。此部分中的有效选项是

exclusive-locking-clients

为客户端启用工作副本的独占 SQLite 锁定,从而提高位于网络磁盘上的工作副本的性能。通过将此配置变量设置为 svn,您可以指示 Subversion 命令行客户端使用独占锁定。这会减少锁定开销,但这意味着一次只有一个 Subversion 客户端可以访问工作副本。尝试访问锁定工作副本的第二个客户端将阻塞 10 秒,然后出现错误。在大多数情况下,首选共享锁定,但如果工作副本位于网络磁盘而不是本地磁盘上,则锁定开销会更大。在处理位于网络磁盘上的大型工作副本时,独占锁定可能会带来显著的性能提升,在某些情况下,速度提高两到三倍。此选项是 Subversion 1.8 中的新增功能。

exclusive-locking

将此配置变量设置为 true 会为所有 Subversion 1.8 客户端启用工作副本的独占 SQLite 锁定。启用此选项可能会导致某些客户端无法正常工作。此选项的默认值为 false。此选项是 Subversion 1.8 中的新增功能。

每个服务器的配置

The servers 文件包含与网络层相关的 Subversion 配置选项。此文件中包含两个特殊部分 - [groups][global]。The [groups] 部分本质上是一个交叉引用表。此部分中的键是文件中其他部分的名称;它们的值是 glob - 可能包含通配符的文本标记 - 与发送 Subversion 请求的机器的主机名进行比较。

[groups]
beanie-babies = *.red-bean.com
collabnet = svn.collab.net

[beanie-babies]
…

[collabnet]
…

当 Subversion 通过网络使用时,它会尝试将要到达的服务器的名称与 [groups] 部分下的组名进行匹配。如果匹配成功,Subversion 将在 servers 文件中查找名称与匹配的组名相同的部分。从该部分中,它将读取实际的网络配置设置。

The [global] 部分包含适用于未与 [groups] 部分下的任何 glob 匹配的所有服务器的设置。此部分中可用的选项与文件中的其他服务器部分(当然,除了特殊的 [groups] 部分)中有效的选项完全相同,如下所示

http-auth-types

这是一个以分号分隔的 HTTP 身份验证类型列表,客户端将认为这些类型是可以接受的。有效的类型是 basicdigestnegotiate,默认行为是接受这些身份验证类型中的任何一种。例如,一个坚持不以明文形式传输身份验证凭据的客户端可能会被配置为该选项的值为 digest;negotiate——从列表中省略 basic。(请注意,此设置仅由 Subversion 基于 Neon 的 HTTP 提供程序模块支持。)

http-compression

这指定了 Subversion 是否应尝试压缩发送到支持 DAV 的服务器的网络请求。默认值为 yes(尽管压缩仅在网络层中编译了该功能的情况下才会发生)。将其设置为 no 以禁用压缩,例如在调试网络传输时。

http-library

运行时配置选项 http-library 允许用户指定(通常或以每个服务器组的方式)他们希望使用的可用 WebDAV 访问模块。在 1.8 版之前,Subversion 提供了两个这样的模块:它的原始实现 libsvn_ra_neon(通过为该选项使用值 neon 来选择)和较新的 libsvn_ra_serf(通过使用值 serf 来选择)。从 Subversion 1.8 开始,仅支持 libsvn_ra_serf。但是,此配置选项仍然存在,因为运行时配置区域与版本无关。安装了多个版本的 Subversion 的用户可能仍然希望为使用旧版本 Subversion 访问的站点启用使用 libsvn_ra_neon

http-proxy-exceptions

这指定了应直接访问的存储库主机名的逗号分隔模式列表,而不使用代理机器。模式语法与 Unix shell 中用于文件名的语法相同。与这些模式中的任何一个匹配的存储库主机名都不会被代理。

http-proxy-host

这指定了必须通过该代理计算机传递基于 HTTP 的 Subversion 请求的代理计算机的主机名。它默认为空值,这意味着 Subversion 将不会尝试通过代理计算机路由 HTTP 请求,而是会尝试直接联系目标机器。

http-proxy-password

这指定了要提供给代理机器的密码。它默认为空值。

http-proxy-port

这指定了要使用的代理主机上的端口号。它默认为空值。

http-proxy-username

这指定了要提供给代理机器的用户名。它默认为空值。

http-timeout

这指定了等待服务器响应的时间量(以秒为单位)。如果您遇到网络连接缓慢导致 Subversion 操作超时的问题,您应该增加此选项的值。在 Subversion 1.8(或使用基于 Serf 的 HTTP 提供程序的旧版本)中,使用值 0 完全禁用超时。

neon-debug-mask

这是一个整数掩码,Neon HTTP 库使用它来选择要产生的调试输出类型。默认值为 0,这将使所有调试输出静音。在 1.8 版之前,大多数 Subversion 客户端使用 Neon(通过 libsvn_ra_neon 存储库访问模块)进行 Subversion 客户端和服务器之间的 WebDAV/HTTP 通信。对 libsvn_ra_neon 的支持在 Subversion 1.8 中被删除,但这使该选项对于较新的 Subversion 安装过时。

ssl-authority-files

这是一个以分号分隔的路径列表,指向包含证书颁发机构(或 CA)证书的文件,这些证书在 Subversion 客户端通过 HTTPS 访问存储库时被接受。

ssl-client-cert-file

如果主机(或一组主机)需要 SSL 客户端证书,通常会提示您提供证书路径。通过将此变量设置为相同的路径,Subversion 将能够自动找到您的客户端证书,而不会提示您。磁盘上没有标准位置来存储您的证书;Subversion 将从您指定的任何路径获取它。

ssl-client-cert-password

如果您的 SSL 客户端证书文件使用密码加密,Subversion 将在每次使用证书时提示您输入密码。如果您发现这很烦人(并且不介意将密码存储在 servers 文件中),您可以将此变量设置为证书的密码。您将不再被提示。

ssl-pkcs11-provider

此选项的值是 PKCS#11 提供程序的名称,将从中提取 SSL 客户端证书(如果服务器要求一个)。此设置仅由 Subversion 基于 Neon 的 HTTP 提供程序模块支持,该模块在 Subversion 1.8 中被删除。

ssl-trust-default-ca

如果要让 Subversion 自动信任与 OpenSSL 捆绑在一起的默认 CA 集,请将此变量设置为 yes

store-auth-creds

此设置与 store-passwords 相同,只是它启用或禁用 所有 身份验证信息的磁盘缓存:用户名、密码、服务器证书以及任何其他类型的可缓存凭据。

store-passwords

这指示 Subversion 缓存或不缓存用户在响应服务器身份验证质询时提供的密码。默认值为 yes。将其设置为 no 以禁用此磁盘密码缓存。您可以使用 --no-auth-cache 命令行参数(对于支持它的那些子命令)覆盖 svn 命令的单个实例的此选项。有关此方面的更多信息,请参阅名为“缓存凭据”的部分。请注意,无论如何配置此选项,Subversion 都不会以明文形式存储密码,除非 store-plaintext-passwords 选项也设置为 yes

store-plaintext-passwords

此变量仅在类 Unix 系统上很重要。它控制 Subversion 客户端在当前身份验证域的密码只能以未加密形式缓存在磁盘上(在 ~/.subversion/auth/ 缓存区域中)的情况下执行的操作。您可以将其设置为 yesno 来分别启用或禁用以未加密形式缓存密码。默认设置是 ask,这会导致 Subversion 客户端在每次要将 密码添加到 ~/.subversion/auth/ 缓存区域时询问您。

store-ssl-client-cert-pp

此选项控制 Subversion 是否会缓存用户提供的 SSL 客户端证书密码。它的值默认为 yes。将其设置为 no 以禁用此密码缓存。

store-ssl-client-cert-pp-plaintext

此选项控制 Subversion 在尝试缓存 SSL 客户端证书密码时,是否允许使用其磁盘明文存储机制。此选项的默认值为 ask,这会导致 Subversion 客户端在每次要将 客户端证书密码添加到 ~/.subversion/auth/ 缓存区域时询问您。将此选项的值设置为 yesno 以指示您的偏好并避免相关的提示。



[74] 环境变量 APPDATA 指向 Application Data 区域,因此您始终可以将此文件夹称为 %APPDATA%\Subversion

[75] 有人想吃自助餐吗?

TortoiseSVN 官方中文版 1.14.7 发布