手册

TortoiseSVN 设置

要了解不同设置的作用,只需将鼠标指针停留在编辑框/复选框上几秒钟... 就会弹出一个有用的工具提示。

常规设置

图 4.72. 设置对话框,常规页面

The Settings Dialog, General Page


此对话框允许您指定首选语言和 Subversion 特定的设置。

语言

选择您的用户界面语言。当然,您必须先安装相应的语言包才能获得除默认英语之外的其他 UI 语言。

检查更新

TortoiseSVN 会定期联系其下载站点,查看是否有更新版本的程序可用。如果有,它将在提交对话框中显示一个通知链接。如果您想立即获得答案,请使用 立即检查。新版本不会被下载;您只会收到一个信息对话框,告诉您新版本可用。

系统声音

TortoiseSVN 有三个默认安装的自定义声音。

  • 错误

  • 通知

  • 警告

您可以使用 Windows 控制面板选择不同的声音(或完全关闭这些声音)。配置 是控制面板的快捷方式。

使用 Aero 对话框

在 Windows Vista 及更高版本系统上,这将控制对话框是否使用 Aero 样式。

创建库

在 Windows 7 上,您可以创建一个库,用于对系统中各个位置的多个工作副本进行分组。

全局忽略模式

全局忽略模式用于防止未版本化的文件显示在例如提交对话框中。与模式匹配的文件也会被导入忽略。通过输入名称或扩展名来忽略文件或目录。模式之间用空格隔开,例如 bin obj *.bak *.~?? *.jar *.[Tt]mp。这些模式不应包含任何路径分隔符。还要注意,无法区分文件和目录。阅读 名为“忽略列表中的模式匹配”的部分,以获取有关模式匹配语法的更多信息。

请注意,您在此处指定的忽略模式也会影响运行在您的 PC 上的其他 Subversion 客户端,包括命令行客户端。

注意

如果您使用 Subversion 配置文件设置 global-ignores 模式,它将覆盖您在此处进行的设置。Subversion 配置文件可以通过以下描述的 编辑 访问。

此忽略模式将影响您所有的项目。它不是版本化的,因此不会影响其他用户。相反,您还可以使用版本化的 svn:ignoresvn:global-ignores 属性来排除版本控制中的文件或目录。阅读 名为“忽略文件和目录”的部分 以获取更多信息。

将文件日期设置为 最后提交时间

此选项告诉 TortoiseSVN 在执行检出或更新时将文件日期设置为最后提交时间。否则,TortoiseSVN 将使用当前日期。如果您正在开发软件,通常最好使用当前日期,因为构建系统通常会查看日期戳以确定哪些文件需要编译。如果您使用 最后提交时间 并恢复到旧的文件版本,您的项目可能无法按预期编译。

Subversion 配置文件

使用 编辑 直接编辑 Subversion 配置文件。某些设置无法直接由 TortoiseSVN 修改,需要在此处设置。有关 Subversion config 文件的更多信息,请参阅 运行时配置区域 。关于 自动属性设置 的部分特别有趣,并且在此处配置。请注意,Subversion 可以从多个地方读取配置信息,您需要知道哪个优先级最高。参考 配置和 Windows 注册表 以了解更多信息。

在更新时将本地修改应用于 svn:externals

此选项告诉 TortoiseSVN 在更新工作副本时始终将本地修改应用于 svn:externals 属性。

上下文菜单设置

图 4.73. 设置对话框,上下文菜单页面

The Settings Dialog, Context Menu Page


此页面允许您指定哪些 TortoiseSVN 上下文菜单条目将显示在主上下文菜单中,哪些将显示在 TortoiseSVN 子菜单中。默认情况下,大多数项目未选中并显示在子菜单中。

对于 获取锁定 存在一个特殊情况。您当然可以使用上面的列表将其提升到顶层,但由于大多数文件不需要锁定,这只会增加混乱。但是,具有 svn:needs-lock 属性的文件每次编辑时都需要此操作,因此在这种情况下,将其放在顶层非常有用。选中此处的复选框意味着当选择具有设置的 svn:needs-lock 属性的文件时,获取锁定 将始终显示在顶层。

大多数情况下,您不需要使用 TortoiseSVN 上下文菜单,除了那些由 Subversion 版本控制的文件夹。对于非版本控制的文件夹,您只需要在执行检出操作时才需要使用上下文菜单。如果您选中了 隐藏未版本控制路径的菜单 选项,TortoiseSVN 不会将其条目添加到未版本控制文件夹的上下文菜单中。但是,这些条目会添加到版本控制文件夹中的所有项目和路径中。您可以通过在显示上下文菜单时按住 Shift 键来恢复未版本控制文件夹的条目。

如果您计算机上有一些路径,您根本不希望 TortoiseSVN 的上下文菜单出现在这些路径中,您可以在底部的框中列出它们。

Windows 11 上下文菜单有一个不同的设置页面。该页面还有一个按钮用于在上下文菜单中注册 TortoiseSVN 条目。只有在 TortoiseSVN 以不同的用户身份安装时才需要执行此操作。

TortoiseSVN 对话框设置 1

图 4.74. 设置对话框,对话框 1 页面

The Settings Dialog, Dialogs 1 Page


此对话框允许您根据自己的喜好配置 TortoiseSVN 的一些对话框。

日志消息的默认数量

限制 TortoiseSVN 在您首次选择 TortoiseSVN显示日志 时获取的日志消息数量。这对速度较慢的服务器连接很有用。您始终可以使用 显示全部下一个 100 来获取更多消息。

日志消息的字体

选择用于在修订日志对话框的中间窗格中显示日志消息本身的字体和大小,以及在提交对话框中撰写日志消息时使用的字体和大小。

日志消息中的短日期/时间格式

如果标准长消息占用屏幕空间过多,请使用短格式。

可以在日志列表中双击以与前一个修订版进行比较

如果您经常在日志对话框的顶部窗格中比较修订版,您可以使用此选项在双击时执行此操作。默认情况下它没有启用,因为获取差异通常是一个漫长的过程,许多人更愿意避免在意外双击后等待,这就是为什么此选项默认情况下没有启用。

自动关闭

TortoiseSVN 可以在操作完成且没有错误时自动关闭所有进度对话框。此设置允许您选择关闭对话框的条件。默认(推荐)设置是 手动关闭,这允许您查看所有消息并检查发生了什么。但是,您可能决定忽略某些类型的消息,如果没有任何关键更改,则让对话框自动关闭。

如果没有任何合并、添加或删除,则自动关闭 表示如果只有简单的更新,则进度对话框将关闭;但如果从存储库中的更改与您的更改合并,或者如果添加或删除了任何文件,则对话框将保持打开状态。如果操作期间出现任何冲突或错误,它也将保持打开状态。

如果没有任何冲突,则自动关闭 进一步放宽了标准,即使有合并、添加或删除,也会关闭对话框。但是,如果出现任何冲突或错误,对话框将保持打开状态。

如果没有任何错误,则自动关闭 始终关闭对话框,即使有冲突。唯一使对话框保持打开状态的条件是错误条件,即当 Subversion 无法完成任务时发生。例如,更新失败是因为服务器不可访问,或者提交失败是因为工作副本已过期。

始终关闭本地操作的对话框

添加文件或恢复更改等本地操作不需要联系存储库,并且可以快速完成,因此进度对话框通常没有太大意义。如果您希望进度对话框在这些操作后自动关闭(除非有错误),请选择此选项。

恢复时使用回收站

当您恢复本地修改时,您的更改将被丢弃。TortoiseSVN 通过在恢复原始副本之前将修改后的文件发送到回收站,为您提供额外的安全保障。如果您希望跳过回收站,请取消选中此选项。

使用 WC 的 URL 作为默认的 From: URL

在合并对话框中,默认行为是 从: URL 在合并之间被记住。但是,有些人喜欢从层次结构中的许多不同点进行合并,并且发现从当前工作副本的 URL 开始更容易。然后可以将其编辑为引用另一个分支上的并行路径。

默认签出路径

您可以指定签出的默认路径。如果您将所有签出都放在一个地方,那么预先填写驱动器和文件夹非常有用,这样您只需在末尾添加新文件夹名称即可。

默认签出 URL

您还可以指定签出的默认 URL。如果您经常签出一些非常大的项目的子项目,那么预先填写 URL 非常有用,这样您只需在末尾添加子项目名称即可。

TortoiseSVN 对话框设置 2

图 4.75. 设置对话框,对话框 2 页面

The Settings Dialog, Dialogs 2 Page


递归进入未版本控制的文件夹

如果选中此框(默认状态),则每当在 添加提交检查修改 对话框中显示未版本控制文件夹的状态时,也会显示每个子文件和文件夹。如果取消选中此框,则仅显示未版本控制的父级。取消选中会减少这些对话框中的混乱。在这种情况下,如果您选择一个未版本控制的文件夹进行添加,它将被递归添加。

检查修改 对话框中,您可以选择查看忽略的项目。如果选中此框,则每当找到忽略的文件夹时,所有子项目也将显示。

使用文件路径和关键字的自动完成

提交对话框包含一个解析正在提交的文件名列表的功能。当您在列表中键入项目的第一个 3 个字母时,自动完成框会弹出,您可以按 Enter 键完成文件名。选中此框以启用此功能。

停止自动完成解析的超时时间(秒)

如果要检查很多大型文件,自动完成解析器可能会很慢。此超时会阻止提交对话框被长时间挂起。如果您缺少重要的自动完成信息,可以延长超时时间。

仅当 tsvn:projectlanguage 设置后才使用拼写检查器

如果您不希望对所有提交使用拼写检查器,请选中此框。拼写检查器将在项目属性要求的地方启用。

日志消息历史记录中要保留的最大项目数

在提交对话框中键入日志消息时,TortoiseSVN 会将其存储起来以便以后可能重新使用。默认情况下,它会为每个存储库保留最后 25 条日志消息,但您可以在此处自定义该数字。如果您有许多不同的存储库,您可能希望减少此数字以避免填充注册表。

请注意,此设置仅适用于您在这台计算机上键入的消息。它与日志缓存无关。

自动选择项目

提交对话框中的正常行为是自动选择所有已修改(已版本控制)的项目以进行提交。如果您希望从未选择任何项目开始并手动选择要提交的项目,请取消选中此框。

如果项目未提交,则在提交后重新打开对话框

这将在成功提交后自动在同一目录中重新打开提交对话框。仅当仍有项目要提交时才会重新打开对话框。

启动时联系存储库

默认情况下,检查修改对话框会检查工作副本,并且仅在您单击 检查存储库 时才会联系存储库。如果您始终希望检查存储库,您可以使用此设置使该操作自动发生。

在锁定文件之前显示锁定对话框

当您选择一个或多个文件,然后使用 TortoiseSVN锁定 对这些文件进行锁定时,在某些项目中,通常需要编写锁定消息来解释您锁定这些文件的原因。如果您不使用锁定消息,您可以取消选中此框以跳过该对话框并立即锁定文件。

如果您对文件夹使用锁定命令,您将始终看到锁定对话框,因为这还允许您选择要锁定的文件。

如果您的项目使用 tsvn:lockmsgminsize 属性,无论此设置如何,您都会看到锁定对话框,因为项目 需要 锁定消息。

TortoiseSVN 对话框设置 3

图 4.76。设置对话框,对话框 3 页面

The Settings Dialog, Dialogs 3 Page


存储库浏览器的设置

预取文件夹以加快浏览速度

如果选中此框(默认状态),则存储库浏览器会在后台获取有关显示文件夹的信息。这样,当您浏览到这些文件夹中的任何一个时,信息就已经可用。

然而,某些服务器无法处理由此产生的多个请求,或者在配置不正确的情况下,将如此多的请求视为错误,并开始阻止它们。在这种情况下,您可以在此处禁用预取。

显示外部文件

如果选中此框(默认状态),则存储库浏览器会将包含在 svn:externals 属性中的文件和文件夹显示为普通文件和文件夹,但会使用叠加图标将其标记为来自外部源。

与上面解释的预取功能一样,这也会给性能较弱的服务器带来过大的压力。在这种情况下,您可以在此处禁用此功能。

SVN 中实现了两种版本的搁置功能。您可以在此处选择要使用的版本。请注意,更改此设置可能需要重新启动操作系统才能生效。

V2

此版本比 V3 快得多,是推荐使用的版本。

但是,速度是以牺牲为代价的:V2 不处理目录更改,也不能处理文件复制和移动。

V3

这是搁置功能的最新版本。它可以处理目录更改以及文件移动/复制。

但是,V3V2 慢得多,对于大型存储库或连接到存储库的连接速度较慢的情况,速度可能慢到无法使用。

TortoiseSVN 颜色设置

图 4.77。设置对话框,颜色页面

The Settings Dialog, Colours Page


此对话框允许您根据自己的喜好配置 TortoiseSVN 对话框中使用的文本颜色。

可能的或实际的冲突/阻塞

更新期间发生了冲突,或者在合并期间可能会发生冲突。更新被与版本控制文件/文件夹同名的现有未版本控制文件/文件夹阻塞。

此颜色也用于进度对话框中的错误消息。

添加的文件

添加到存储库的项目。

丢失/删除/替换

从仓库中删除、工作副本中丢失或从工作副本中删除并替换为同名文件的项目。

合并

从仓库中成功合并到工作副本,没有创建任何冲突。

修改/复制

带有历史记录的添加,或在仓库中复制的路径。也用于日志对话框中包含复制项目的条目。

删除节点

已从仓库中删除的项目。

添加节点

通过添加、复制或移动操作添加到仓库的项目。

重命名节点

在仓库中重命名的项目。

替换节点

原始项目已被删除,一个同名的新项目替换了它。

过滤器匹配

在日志对话框中使用过滤时,使用此颜色突出显示结果中的搜索词。

其他设置

深色主题

TortoiseSVN 中的对话框可以在 Windows 10 1809 及更高版本上以深色模式显示。此功能还要求在 Windows 10 设置中启用应用程序的深色模式。

重要

请注意,并非所有对话框中的所有控件都以深色主题显示。

版本图设置

图 4.78. 设置对话框,版本图页面

The Settings Dialog, Revision Graph Page


分类模式

版本图试图通过区分主干、分支和标签来显示更清晰的仓库结构。由于 Subversion 中没有内置这种分类,因此此信息是从路径名中提取的。默认设置假设您使用 Subversion 文档中建议的传统英文名称,但您的使用方式可能有所不同。

在提供的三个框中指定用于识别这些路径的模式。模式将不区分大小写匹配,但您必须以小写形式指定它们。通配符 *? 将按预期工作,您可以使用 ; 分隔多个模式。不要包含任何额外的空格,因为它将包含在匹配规范中。

提交标签检测

请注意,这些模式也用于检测提交到标签,而不仅仅是修订图。

修改颜色

颜色在修订图中用于指示节点类型,即节点是添加、删除还是重命名。为了帮助挑选节点分类,您可以允许修订图混合颜色以指示节点类型和分类。如果选中该框,则使用混合。如果未选中该框,则颜色仅用于指示节点类型。使用颜色选择对话框分配使用的特定颜色。

修订图颜色

图 4.79. 设置对话框,修订图颜色页面

The Settings Dialog, Revision Graph Colors Page


此页面允许您配置使用的颜色。请注意,此处指定的颜色是纯色。大多数节点使用节点类型颜色、背景颜色和可选的分类颜色的混合颜色。

已删除节点

已删除且未在同一修订版中的其他任何位置复制的项目。

已添加节点

新添加的项目,或复制的项目(带历史记录的添加)。

已重命名节点

从一个位置删除并在同一修订版中的另一个位置添加的项目。

已修改节点

没有添加或删除的简单修改。

未更改节点

可用于显示用作复制源的修订版,即使在该修订版中未发生更改(对正在绘制的项目)。

HEAD 节点

存储库中的当前 HEAD 修订版。

WC 节点

如果您选择在图上显示其最后一个提交修订版附加的已修改工作副本的额外节点,请使用此颜色。

WC 节点边框

如果您选择显示工作副本是否已修改,请在发现修改时在 WC 节点上使用此颜色边框。

标签节点

分类为标签的节点可以与此颜色混合。

主干节点

分类为主干的节点可以与此颜色混合。

折叠标签标记

如果您使用标签折叠来节省空间,则使用此颜色的块在复制源上标记标签。

选定节点标记

当您左键单击节点以选择它时,用于指示选择的标记是此颜色的块。

条纹

当图表被分割成子树并且背景以交替条纹着色以帮助区分不同的树时,将使用这些颜色。

图标叠加设置

图 4.80. 设置对话框,图标叠加页面

The Settings Dialog, Icon Overlays Page


此页面允许您选择 TortoiseSVN 将显示图标叠加的项目。

由于获取工作副本状态需要相当长的时间,TortoiseSVN 使用缓存来存储状态,以便在显示叠加时不会过多占用资源。您可以在此处根据您的系统和工作副本大小选择 TortoiseSVN 应该使用的缓存类型。

默认

在单独的进程 (TSVNCache.exe) 中缓存所有状态信息。该进程监视所有驱动器以进行更改,并在工作副本内的文件被修改时再次获取状态。该进程以最低优先级运行,因此其他程序不会因其而占用资源。这也意味着状态信息不是 实时 的,但叠加可能需要几秒钟才能更改。

优点:叠加会递归地显示状态,即如果工作副本深处的文件被修改,则从工作副本根目录到该文件的文件夹也会显示修改叠加。由于该进程可以向 shell 发送通知,因此左侧树视图上的叠加通常也会更改。

缺点:即使您没有使用项目,该进程也会不断运行。它还会使用大约 10-50 MB 的内存,具体取决于工作副本的数量和大小。

Shell

缓存直接在 shell 扩展 dll 内部完成,但仅针对当前可见的文件夹。每次您导航到另一个文件夹时,都会再次获取状态信息。

优点:只需要很少的内存(大约 1 MB 的内存),并且可以 实时 显示状态。

缺点:由于只缓存一个文件夹,因此叠加不会递归地显示状态。对于大型工作副本,在资源管理器中显示文件夹可能比使用默认缓存花费更多时间。此外,mime 类型列不可用。

使用此设置,TortoiseSVN 不会在资源管理器中获取任何状态。因此,文件不会获得叠加,并且文件夹只有在版本化的情况下才会获得“正常”叠加。不会显示其他叠加,也不会提供额外的列。

优点:绝对不使用额外的内存,并且在浏览时不会减慢资源管理器的速度。

缺点:资源管理器中不会显示文件和文件夹的状态信息。要查看您的工作副本是否已修改,您必须使用 检查修改 对话框。

默认情况下,叠加图标和上下文菜单也会出现在所有打开/保存对话框以及 Windows 资源管理器中。如果您希望它们 出现在 Windows 资源管理器中,请选中 仅在资源管理器中显示叠加和上下文菜单 框。

您可以通过勾选 为提升权限的进程禁用状态缓存 框,强制将状态缓存设置为 ,适用于提升权限的进程。如果您想阻止另一个具有提升权限的 TSVNCache.exe 进程被创建,这将非常有用。

您也可以选择在文件夹包含未版本化的项目时将其标记为已修改。这对于提醒您已创建尚未版本化的新文件可能很有用。此选项仅在您使用 默认 状态缓存选项时可用(见下文)。

如果您在 ignore-on-commit 变更列表中包含文件,您可以选择使这些文件不将其状态传播到父文件夹。这样,如果只有该变更列表中的文件被修改,父文件夹仍然显示未修改的叠加图标。

下一组允许您选择哪些存储类别应该显示叠加。默认情况下,只选择了硬盘驱动器。您甚至可以禁用所有图标叠加,但这有什么乐趣呢?

网络驱动器可能非常慢,因此默认情况下,不会为位于网络共享上的工作副本显示图标。

USB 闪存驱动器似乎是一个特殊情况,因为驱动器类型由设备本身识别。有些显示为固定驱动器,有些显示为可移动驱动器。

排除路径 用于告诉 TortoiseSVN 哪些路径 显示图标叠加和状态列。如果您有一些非常大的工作副本,其中只包含您不会更改的库,因此不需要叠加,或者您只希望 TortoiseSVN 查看特定文件夹,这将非常有用。

您在此处指定的任何路径都假定为递归应用,因此所有子文件夹也不会显示叠加。如果您只想排除 命名的文件夹,请在路径后追加 ?

同样适用于 包含路径。不同的是,对于这些路径,即使覆盖层被禁用,或者被上面指定的排除路径所排除,覆盖层也会显示。

用户有时会问这三个设置是如何交互的。对于任何给定的路径,检查包含和排除列表,向上遍历目录结构,直到找到匹配项。当找到第一个匹配项时,遵守该包含或排除规则。如果存在冲突,单个目录规范优先于递归规范,然后包含优先于排除。

这里举个例子

Exclude:
C:
C:\develop\?
C:\develop\tsvn\obj
C:\develop\tsvn\bin

Include:
C:\develop
    

这些设置禁用了 C: 驱动器的图标覆盖,除了 c:\develop。该目录下的所有项目都会显示覆盖层,除了 c:\develop 文件夹本身,它被明确忽略。高 churn 二进制文件夹也被排除。

TSVNCache.exe 也使用这些路径来限制其扫描。如果你只想在特定文件夹中查找,请禁用所有驱动器类型,只包含你想要扫描的特定文件夹。

排除 SUBST 驱动器

使用 SUBST 驱动器访问工作副本通常很方便,例如使用以下命令

subst T: C:\TortoiseSVN\trunk\doc
      

但是,这会导致覆盖层无法更新,因为 TSVNCache 只能在文件更改时收到一个通知,而该通知通常是针对原始路径的。这意味着你 subst 路径上的覆盖层可能永远不会更新。

解决此问题的简单方法是将原始路径从显示覆盖层中排除,以便覆盖层在 subst 路径上显示。

有时您会排除包含工作副本的区域,这可以节省 TSVNCache 的扫描和更改监控时间,但您仍然希望有一个直观的指示来表明文件夹包含工作副本。 将排除的根文件夹显示为“正常”复选框允许您执行此操作。使用此选项,任何排除区域(未检查驱动器类型或明确排除)中的工作副本根文件夹将显示为正常且最新,并带有绿色复选标记。这提醒您正在查看工作副本,即使文件夹覆盖可能不正确。文件根本不会获得覆盖。请注意,即使没有显示覆盖,上下文菜单仍然有效。

作为对此的特殊例外,驱动器 A:B: 从未被视为 将排除的文件夹显示为“正常”选项。这是因为 Windows 被迫查看驱动器,这会导致在启动资源管理器时延迟几秒钟,即使您的 PC 确实有软盘驱动器。

图标集选择

图 4.81. 设置对话框,图标集页面

The Settings Dialog, Icon Set Page


您可以将覆盖图标集更改为您最喜欢的图标集。请注意,如果您更改覆盖集,您可能需要重新启动计算机才能使更改生效。

启用的覆盖处理程序

图 4.82. 设置对话框,图标处理程序页面

The Settings Dialog, Icon Handlers Page


由于可用的覆盖数量受到严格限制,您可以选择禁用一些处理程序以确保加载您想要的处理程序。由于 TortoiseSVN 使用与其他 Tortoise 客户端(例如 TortoiseCVS、TortoiseHg)共享的通用 TortoiseOverlays 组件,因此此设置也会影响这些客户端。

网络设置

图 4.83. 设置对话框,网络页面

The Settings Dialog, Network Page


如果您需要通过公司防火墙,您可以在此处配置您的代理服务器。

如果您需要设置每个存储库的代理设置,则需要使用 Subversion servers 文件进行配置。使用 编辑 直接到达那里。有关如何使用此文件的详细信息,请参阅 运行时配置区域

您还可以指定 TortoiseSVN 应该使用哪个程序来建立与 svn+ssh 存储库的安全连接。我们建议您使用 TortoisePlink.exe。这是流行的 Plink 程序的一个版本,包含在 TortoiseSVN 中,但它被编译为无窗口应用程序,因此您每次身份验证时都不会弹出 DOS 框。

您必须指定可执行文件的完整路径。对于 TortoisePlink.exe,这是标准的 TortoiseSVN bin 目录。使用 浏览 按钮来帮助定位它。请注意,如果路径包含空格,则必须将其用引号括起来,例如:

"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe"
    

没有窗口的一个副作用是,没有地方可以放置任何错误消息,因此如果身份验证失败,您只会收到一条消息,内容类似于 无法写入标准输出。因此,我们建议您首先使用标准 Plink 进行设置。当一切正常后,您可以使用 TortoisePlink 以及完全相同的参数。

TortoisePlink 没有自己的文档,因为它只是 Plink 的一个微小变体。有关命令行参数的信息,请参阅 PuTTY 网站

为了避免反复提示输入密码,您也可以考虑使用密码缓存工具,例如 Pageant。它也可以从 PuTTY 网站下载。

最后,在服务器和客户端上设置 SSH 是一个非平凡的过程,超出了本帮助文件的范围。但是,您可以在 TortoiseSVN 常见问题解答中找到指南,该指南列在 Subversion/TortoiseSVN SSH 如何操作 下。

外部程序设置

图 4.84。设置对话框,差异查看器页面

The Settings Dialog, Diff Viewer Page


在这里,您可以定义 TortoiseSVN 应该使用的自己的差异/合并程序。默认设置是使用 TortoiseMerge,它与 TortoiseSVN 一起安装。

阅读 名为“外部差异/合并工具”的部分,了解人们在 TortoiseSVN 中使用的一些外部差异/合并程序。

差异查看器

外部差异程序可用于比较文件的不同修订版。外部程序需要从命令行获取文件名,以及任何其他命令行选项。TortoiseSVN 使用以 % 为前缀的替换参数。当它遇到其中一个参数时,它将替换相应的 value。参数的顺序将取决于您使用的差异程序。

%base

没有您的更改的原始文件

%bname

基本文件的窗口标题

%nqbname

基本文件的窗口标题,不带引号

%mine

您自己的文件,包含您的更改

%yname

您文件的窗口标题

%nqyname

您文件的窗口标题,不带引号

%burl

原始文件的 URL(如果可用)

%nqburl

原始文件的 URL(如果可用),不带引号

%yurl

第二个文件的 URL(如果可用)

%nqyurl

第二个文件的 URL(如果可用),不带引号

%brev

原始文件的修订版(如果可用)

%nqbrev

原始文件的修订版(如果可用),不带引号

%yrev

如果可用,第二个文件的修订版本

%nqyrev

如果可用,第二个文件的修订版本,不带引号

%peg

如果可用,基准修订版本

%nqpeg

如果可用,基准修订版本,不带引号

%fname

文件名称。如果比较的是两个不同文件而不是同一个文件的两个状态,则为空字符串。

%nqfname

文件名称,不带引号

窗口标题不是纯文件名。TortoiseSVN 将其视为要显示的名称,并相应地创建名称。例如,如果您要比较修订版本 123 中的文件与工作副本中的文件,则名称将为 filename : revision 123filename : working copy

例如,使用 ExamDiff Pro

C:\Path-To\ExamDiff.exe %base %mine --left_display_name:%bname
                                    --right_display_name:%yname
      

或使用 KDiff3

C:\Path-To\kdiff3.exe %base %mine --L1 %bname --L2 %yname
      

或使用 WinMerge

C:\Path-To\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine
      

或使用 Araxis

C:\Path-To\compare.exe /max /wait /title1:%bname /title2:%yname
                       %base %mine
      

或使用 UltraCompare

C:\Path-To\uc.exe %base %mine -title1 %bname -title2 %yname
      

或使用 DiffMerge

C:\Path-To\DiffMerge.exe -nosplash -t1=%bname -t2=%yname %base %mine
      

如果您使用 svn:keywords 属性扩展关键字,特别是文件的 revision,则文件之间可能存在纯由关键字的当前值导致的差异。同样,如果您使用 svn:eol-style = native,则 BASE 文件将具有纯 LF 行尾,而您的文件将具有 CR-LF 行尾。TortoiseSVN 通常会通过首先解析 BASE 文件以扩展关键字和行尾,然后执行 diff 操作,自动隐藏这些差异。但是,对于大型文件,这可能需要很长时间。如果未选中 Convert files when diffing against BASE,则 TortoiseSVN 将跳过对文件的预处理。

您还可以指定不同的 diff 工具来用于 Subversion 属性。由于这些属性往往是简短的简单文本字符串,因此您可能希望使用更简单、更紧凑的查看器。

如果您已配置备用 diff 工具,则可以从上下文菜单访问 TortoiseMerge 第三方工具。上下文菜单Diff 使用主要 diff 工具,而 Shift+ 上下文菜单Diff 使用辅助 diff 工具。

在对话框底部,您可以为统一 diff 文件(补丁文件)配置查看器程序。不需要任何参数。Default 设置是使用与 TortoiseSVN 一起安装的 TortoiseUDiff,它会对添加和删除的行进行颜色编码。

由于统一 diff 只是一个文本格式,因此如果您愿意,可以使用您喜欢的文本编辑器。

合并工具

用于解决冲突文件的外部合并程序。参数替换与 Diff 程序中的使用方式相同。

%base

原始文件,不包含您或其他人的更改

%bname

基本文件的窗口标题

%nqbname

基本文件的窗口标题,不带引号

%mine

您自己的文件,包含您的更改

%yname

您文件的窗口标题

%nqyname

您文件的窗口标题,不带引号

%theirs

存储库中的文件

%tname

存储库中文件的窗口标题

%nqtname

存储库中文件的窗口标题,不带引号

%merged

冲突文件,合并操作的结果

%mname

合并文件的窗口标题

%nqmname

合并文件的窗口标题,不带引号

%fname

冲突文件的名称

%nqfname

冲突文件的名称,不带引号

例如,使用 Perforce Merge

C:\Path-To\P4Merge.exe %base %theirs %mine %merged
      

或使用 KDiff3

C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged
                      --L1 %bname --L2 %yname --L3 %tname
      

或使用 Araxis

C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname
                       /title3:%yname %theirs %base %mine %merged /a2
      

或使用 WinMerge (2.8 或更高版本)

C:\Path-To\WinMerge.exe %merged
      

或使用 DiffMerge

C:\Path-To\DiffMerge.exe -caption=%mname -result=%merged -merge
      -nosplash -t1=%yname -t2=%bname -t3=%tname %mine %base %theirs
      

差异/合并高级设置

图 4.85. 设置对话框,差异/合并高级对话框

The Settings Dialog, Diff/Merge Advanced Dialog


在高级设置中,您可以为每个文件扩展名定义不同的差异和合并程序。例如,您可以将 Photoshop 关联为 差异 程序,用于 .jpg 文件 :-) 您还可以将 svn:mime-type 属性与差异或合并程序关联。

要使用文件扩展名进行关联,您需要指定扩展名。使用 .bmp 来描述 Windows 位图文件。要使用 svn:mime-type 属性进行关联,请指定 mime 类型,包括斜杠,例如 text/xml

保存的数据设置

图 4.86. 设置对话框,保存的数据页面

The Settings Dialog, Saved Data Page


为了方便起见,TortoiseSVN 会保存您使用的许多设置,并记住您最近访问过的地方。如果您想清除该数据缓存,您可以在此处进行操作。

URL 历史记录

每当您检出工作副本、合并更改或使用存储库浏览器时,TortoiseSVN 都会记录最近使用的 URL,并在组合框中提供它们。有时该列表会因过时的 URL 而变得杂乱,因此定期清除它很有用。

如果您想从某个组合框中删除单个项目,您可以在原地进行操作。只需单击箭头以下拉组合框,将鼠标悬停在要删除的项目上,然后键入 Shift+Del

日志消息(输入对话框)

TortoiseSVN 会存储您输入的最近提交日志消息。这些消息按存储库存储,因此如果您访问多个存储库,此列表可能会变得很大。

日志消息(显示日志对话框)

TortoiseSVN 会缓存由“显示日志”对话框获取的日志消息,以便在您下次显示日志时节省时间。如果其他人编辑了日志消息,而您已经缓存了该消息,则在清除缓存之前,您将看不到更改。日志消息缓存已在 日志缓存 选项卡上启用。

对话框大小和位置

许多对话框会记住您上次使用的大小和屏幕位置。

身份验证数据

当您使用 Subversion 服务器进行身份验证时,用户名和密码会缓存在本地,因此您不必一直输入它们。出于安全原因,或者因为您想以不同的用户名访问存储库,您可能希望清除它……约翰知道您在使用他的电脑吗?

如果您只想清除特定服务器的认证数据,请使用 清除... 按钮,而不是 全部清除 按钮。

操作日志

TortoiseSVN 会记录所有写入其进度对话框的内容。这在您想要检查最近更新命令中发生了什么时非常有用。

日志文件长度有限,当它变得太大时,最旧的内容将被丢弃。默认情况下会保留 4000 行,但您可以自定义该数字。

从这里您可以查看日志文件内容,也可以清除它。

日志缓存

图 4.87. 设置对话框,日志缓存页面

The Settings Dialog, Log Cache Page


此对话框允许您配置 TortoiseSVN 的日志缓存功能,该功能保留日志消息和更改路径的本地副本,以避免从服务器下载耗时。使用日志缓存可以显着加快日志对话框和修订图的速度。另一个有用的功能是,即使离线也可以访问日志消息。

启用日志缓存

在请求日志数据时启用日志缓存。如果选中,将在可用时从缓存中检索数据,并且任何不在缓存中的消息将从服务器检索并添加到缓存中。

如果禁用缓存,数据将始终直接从服务器检索,而不是存储在本地。

允许不明确的 URL

有时您可能需要连接到使用相同 URL 的所有存储库的服务器。旧版本的 svnbridge 会这样做。如果您需要访问此类存储库,则需要选中此选项。如果您不需要,请取消选中以提高性能。

允许不明确的 UUID

一些托管服务为其所有存储库提供相同的 UUID。您甚至可能通过复制存储库文件夹来创建新的存储库来做到这一点。由于各种原因,这是一个坏主意 - UUID 应该是 唯一的。但是,如果您选中此框,日志缓存仍然可以在这种情况下工作。如果您不需要,请取消选中以提高性能。

如果无法联系存储库

如果您离线工作,或者存储库服务器宕机,日志缓存仍然可以用来提供缓存中已有的日志消息。当然,缓存可能不是最新的,因此您可以选择是否使用此功能。

当从缓存中获取日志数据而不联系服务器时,使用这些消息的对话框将在其标题栏中显示离线状态。

更新 HEAD 版本之前的超时时间

当您调用日志对话框时,您通常希望联系服务器以检查是否有更新的日志消息。如果此处设置的超时时间非零,则只有在上次联系后超时时间过去时才会联系服务器。如果您经常打开日志对话框并且服务器速度很慢,这可以减少服务器往返次数,但显示的数据可能不是完全最新的。如果您想使用此功能,我们建议使用 300(5 分钟)的值作为折衷方案。

小缓存被删除之前的非活动天数

如果您浏览许多存储库,您将积累大量日志缓存。如果您没有积极使用它们,缓存不会增长很大,因此 TortoiseSVN 默认情况下会在一段时间后清除它们。使用此项来控制缓存清除。

删除非活动缓存的最大大小

较大的缓存重新获取成本更高,因此 TortoiseSVN 只清除小缓存。使用此值微调阈值。

缓存删除之前的工具故障最大次数

偶尔,缓存会出现问题并导致崩溃。如果发生这种情况,缓存通常会自动删除以防止问题再次发生。如果您使用的是不太稳定的夜间构建版本,您可能选择保留缓存。

缓存的存储库

在此页面上,您可以看到本地缓存的存储库列表以及缓存使用的空间。如果您选择其中一个存储库,您就可以使用下面的按钮。

单击 更新 以完全刷新缓存并填补任何空白。对于大型存储库,这可能非常耗时,但如果您即将离线并且想要获得最佳可用缓存,则很有用。

单击 导出 按钮将整个缓存导出为一组 CSV 文件。如果您想使用外部程序处理日志数据,这可能很有用,尽管它主要对开发人员有用。

单击 删除 以删除所选存储库的所有缓存数据。这不会禁用存储库的缓存,因此下次您请求日志数据时,将创建一个新的缓存。

日志缓存统计信息

图 4.88. 设置对话框,日志缓存统计信息

The Settings Dialog, Log Cache Statistics


点击 详细信息 按钮查看特定缓存的详细统计信息。此处显示的许多字段主要供 TortoiseSVN 开发人员参考,因此并非所有字段都进行了详细说明。

RAM

为服务此缓存所需的内存量。

磁盘

用于缓存的磁盘空间量。数据已压缩,因此磁盘使用量通常相当适中。

连接

显示上次使用缓存时存储库是否可用。

上次更新

上次更改缓存内容的时间。

上次 HEAD 更新

上次从服务器请求 HEAD 版本的时间。

作者

缓存中记录了消息的不同作者数量。

路径

列出的路径数量,如使用 svn log -v 所示。

跳过范围

尚未获取的修订版本范围数量,仅仅因为它们尚未被请求。这是缓存中漏洞数量的衡量标准。

最大修订版本

缓存中存储的最高修订版本号。

修订版本计数

缓存中存储的修订版本数量。这是缓存完整性的另一个衡量标准。

客户端钩子脚本

图 4.89. 设置对话框,钩子脚本页面

The Settings Dialog, Hook Scripts Page


此对话框允许您设置钩子脚本,这些脚本将在执行某些 Subversion 操作时自动执行。与 “服务器端钩子脚本”部分 中解释的钩子脚本相反,这些脚本在客户端本地执行。

此类钩子的一个应用可能是调用 SubWCRev.exe 等程序来更新提交后的版本号,并可能触发重建。

请注意,您也可以使用工作副本上的特殊属性来指定此类钩子脚本。有关详细信息,请参阅 “TortoiseSVN 项目属性”部分

图 4.90. 设置对话框,配置钩子脚本

The Settings Dialog, Configure Hook Scripts


要添加新的钩子脚本,只需点击 添加 并填写详细信息。

目前有以下类型的钩子脚本可用

开始提交

在提交对话框显示之前调用。如果您想使用此钩子修改版本控制文件并影响需要提交的文件列表和/或提交消息,则可以使用它。但是,您应该注意,由于钩子是在早期阶段调用的,因此无法获得要提交的所有对象的完整列表。

手动预提交

如果指定了此项,则提交对话框将显示一个按钮 运行钩子,单击该按钮将运行指定的钩子脚本。钩子脚本接收所有已选中文件和文件夹的列表以及提交消息(如果有)。

检查提交

在用户单击提交对话框中的 确定 按钮后,并在提交对话框关闭之前调用。此钩子获取所有已选中文件的列表。如果钩子返回错误,则提交对话框将保持打开状态。

如果返回的错误消息包含以换行符分隔的行上的路径,则在显示错误消息后,这些路径将在提交对话框中被选中。

预提交

在用户单击提交对话框中的 确定 按钮后,并在实际提交开始之前调用。此钩子具有将要提交的确切内容的列表。

提交后

在提交成功完成之后调用。

开始更新

在显示更新到修订版对话框之前调用。

预更新

在实际的 Subversion 更新或切换开始之前调用。

更新后

在更新、切换或检出完成之后调用(无论成功与否)。

预连接

在尝试联系存储库之前调用。在五分钟内最多调用一次。

预锁定

在尝试锁定文件之前调用。

锁定后

在文件被锁定之后调用。

为特定工作副本路径定义一个钩子。您只需要指定顶层路径;如果您在子文件夹中执行操作,TortoiseSVN 将自动向上搜索匹配的路径。

接下来,您必须指定要执行的命令行,从钩子脚本或可执行文件的路径开始。这可以是批处理文件、可执行文件或任何其他具有有效 Windows 文件关联的文件,例如 Perl 脚本。请注意,脚本不得使用 UNC 路径指定,因为 Windows shell execute 由于安全限制不允许执行此类脚本。

命令行包含多个参数,这些参数由 TortoiseSVN 填充。传递的参数取决于调用哪个钩子。每个钩子都有自己的参数,按以下顺序传递

开始提交

PATH MESSAGEFILE CWD

手动预提交

PATH MESSAGEFILE CWD

检查提交

PATH MESSAGEFILE CWD

预提交

PATH DEPTH MESSAGEFILE CWD

提交后

PATH DEPTH MESSAGEFILE REVISION ERROR CWD

开始更新

PATH CWD

预更新

PATH DEPTH REVISION CWD

更新后

PATH DEPTH REVISION ERROR CWD RESULTPATH

预连接

此脚本不传递任何参数。您可以通过将自定义参数附加到脚本路径来传递它。

预锁定

PATH LOCK FORCE MESSAGEFILE CWD

锁定后

PATH LOCK FORCE MESSAGEFILE ERROR CWD

这里描述了每个参数的含义

PATH

一个指向临时文件的路径,该文件包含以 UTF-8 编码启动操作的所有路径。每个路径都在临时文件中的单独一行。

请注意,对于远程执行的操作,例如在存储库浏览器中,这些路径不是本地路径,而是受影响项目的 URL。

DEPTH

执行提交/更新的深度。

可能的值是

-2

svn_depth_unknown

-1

svn_depth_exclude

0

svn_depth_empty

1

svn_depth_files

2

svn_depth_immediates

3

svn_depth_infinity

MESSAGEFILE

包含提交日志消息的文件的路径。该文件以 UTF-8 编码包含文本。在成功执行 start-commit 钩子后,会读取回日志消息,让钩子有机会修改它。

REVISION

应执行更新的存储库修订版或提交完成后。

锁定

锁定时为 true,解锁时为 false

强制

如果操作是强制执行的,则为 true,否则为 false

错误

包含错误消息的文件路径。如果没有错误,则文件将为空。

当前目录

运行脚本的当前工作目录。它被设置为所有受影响路径的公共根目录。

结果路径

指向临时文件的路径,该文件包含以 UTF-8 编码的所有以某种方式被操作触及的路径。每个路径在临时文件中单独占一行。

请注意,虽然我们为了方便起见给这些参数命名,但您不必在钩子设置中引用这些名称。所有为特定钩子列出的参数始终都会传递,无论您是否需要它们 ;-)

如果您希望 Subversion 操作在钩子完成之前暂停,请选中 等待脚本完成

通常,您希望在脚本运行时隐藏难看的 DOS 框,因此 运行时隐藏脚本 默认情况下处于选中状态。如果您的钩子脚本可能返回停止操作的错误,您也需要选中此选项。

如果用户必须在运行脚本后才能继续操作,即脚本必须始终运行,则可以设置 force 标志。如果未选中 force 标志,则会向用户显示一个 不使用钩子重试 按钮,以便在不运行钩子脚本的情况下重试操作。

可以在 TortoiseSVN 存储库 contrib 文件夹中找到示例客户端钩子脚本。(名为“许可证”的部分 解释了如何访问存储库。)

在调试钩子脚本时,您可能希望将进度行回显到 DOS 控制台,或插入暂停以阻止脚本完成后控制台窗口消失。由于 I/O 被重定向,这通常不起作用。但是,您可以显式地将输入和输出重定向到 CON 以克服此问题。例如:

echo Checking Status > con
pause < con > con
    

TortoiseSVN 安装文件夹中包含一个名为 ConnectVPN.exe 的小型工具。您可以将此工具配置为预连接钩子,以便在 TortoiseSVN 尝试连接到存储库之前自动连接到您的 VPN。只需将 VPN 连接的名称作为第一个参数传递给该工具即可。

问题跟踪器集成

TortoiseSVN 可以使用 COM 插件在提交对话框中查询问题跟踪器。此类插件的使用在 名为“从问题跟踪器获取信息”的部分 中进行了描述。如果您的系统管理员为您提供了已安装和注册的插件,则可以在此处指定它如何与您的工作副本集成。

图 4.91. 设置对话框,问题跟踪器集成页面

The Settings Dialog, Issue Tracker Integration Page


点击 添加... 使用插件与特定工作副本。在这里,您可以指定工作副本路径,从所有已注册的缺陷跟踪插件下拉列表中选择要使用的插件,以及要传递的任何参数。参数将特定于插件,但可能包括您在缺陷跟踪器上的用户名,以便插件可以查询分配给您的缺陷。

如果您希望所有用户对您的项目使用相同的 COM 插件,您也可以使用属性 bugtraq:provideruuidbugtraq:provideruuid64bugtraq:providerparams 指定插件。

bugtraq:provideruuid

此属性指定 IBugtraqProvider 的 COM UUID,例如 {0044f6c0-b999-11e1-afa6-0800200c9a66}。(此示例是 YurtleTrack 提供程序 的 UUID,它是 JetBrains YouTrack 6.0 缺陷跟踪器的提供程序。)

bugtraq:provideruuid64

这与 bugtraq:provideruuid 相同,但适用于 IBugtraqProvider 的 64 位版本。

bugtraq:providerparams

此属性指定传递给 IBugtraqProvider 的参数。

请查看您的 IBugtraqProvider 插件的文档,了解在这些属性中指定什么内容。

TortoiseBlame 设置

图 4.92。设置对话框,TortoiseBlame 页面

The Settings Dialog, TortoiseBlame Page


TortoiseBlame 使用的设置由主上下文菜单控制,而不是直接由 TortoiseBlame 本身控制。

颜色

TortoiseBlame 可以使用背景颜色来指示文件中行的年龄。您可以通过指定最新和最旧修订版的颜色来设置端点,TortoiseBlame 会根据每行指示的存储库修订版在这两种颜色之间进行线性插值。

您可以指定不同的颜色用于定位器栏。默认情况下,定位器栏使用强对比度,同时保持主窗口背景亮度,以便您仍然可以阅读文本。

字体

您可以选择用于显示文本的字体,以及要使用的字号。这适用于文件内容,以及左侧窗格中显示的作者和修订版信息。

制表符

定义在文件中找到制表符字符时要使用的扩展空间数。

TortoiseUDiff 设置

图 4.93。设置对话框,TortoiseUDiff 页面

The Settings Dialog, TortoiseUDiff Page


TortoiseUDiff 使用的设置由主上下文菜单控制,而不是直接由 TortoiseUDiff 本身控制。

颜色

TortoiseUDiff 默认使用的颜色通常是可以的,但您可以在此处配置它们。

字体

您可以选择用于显示文本的字体,以及要使用的字号。

制表符

定义在文件差异中找到制表符字符时,用于扩展的空格数。

导出 TSVN 设置

图 4.94. 设置对话框,同步页面

The Settings Dialog, Sync Page


您可以将所有 TortoiseSVN 设置同步到加密文件或从加密文件同步。该文件使用您输入的密码加密,因此您不必担心将该文件存储在 OneDrive、GDrive、DropBox 等云文件夹中。

当指定路径和密码时,TortoiseSVN 将自动同步所有设置并保持同步。

您还可以手动导出/导入包含所有设置的加密文件。当您这样做时,系统会要求您提供文件的路径和用于加密/解密设置文件的密码。

手动导出设置时,您还可以选择性地包含所有本地设置,这些设置未包含在正常导出或同步中。本地设置是指包含本地路径的设置,这些路径通常在不同计算机之间有所不同。这些本地设置包括配置的差异和合并工具以及挂钩脚本。

高级设置

一些不常用的设置仅在设置对话框的高级页面中可用。这些设置直接修改注册表,您需要了解每个设置的用途和作用。除非您确定需要更改这些设置,否则请勿修改它们。

AllowAuthSave

有时,多个用户在同一台计算机上使用同一个帐户。在这种情况下,不希望保存身份验证数据。将此值设置为 false 将禁用身份验证对话框中的 保存身份验证 按钮。

AllowUnversionedObstruction

如果更新从存储库添加一个新文件,而该文件在本地工作副本中已存在为未版本控制的文件,则默认操作是保留本地文件,将其显示为来自存储库的新文件的(可能)修改版本。如果您希望 TortoiseSVN 在这种情况下创建冲突,请将此值设置为 false

AlwaysExtendedMenu

与资源管理器一样,TortoiseSVN 在打开上下文菜单时按住 Shift 键,将显示其他命令。要强制 TortoiseSVN 始终显示这些扩展命令,请将此值设置为 true

AutoCompleteMinChars

编辑器显示自动完成弹出窗口的最小字符数。默认值为 3

AutocompleteRemovesExtensions

提交信息编辑器中显示的自动完成列表显示了要提交的文件的名称。要将这些名称(不带扩展名)也包括在内,请将此值设置为 true

BlockPeggedExternals

默认情况下,固定到特定修订版的外部文件将被阻止选择进行提交。这是因为除非调整外部文件的固定修订版,否则后续更新将再次还原这些更改。

如果您仍然希望提交对这些外部文件的更改,请将此值设置为 false

BlockStatus

如果您不希望资源管理器在另一个 TortoiseSVN 命令运行时(例如更新、提交等)更新状态覆盖,请将此值设置为 true

CacheTrayIcon

要为 TSVNCache 程序添加缓存托盘图标,请将此值设置为 true。这实际上只对开发人员有用,因为它允许您优雅地终止程序。

ColumnsEveryWhere

TortoiseSVN 添加到 Windows 资源管理器详细信息视图中的额外列通常仅在工作副本中处于活动状态。如果您希望这些列在任何地方都可用,而不仅仅是在工作副本中,请将此值设置为 true。请注意,额外列仅在 XP 中可用。Vista 及更高版本不再支持该功能。但是,一些第三方资源管理器替换程序即使在 Windows 版本高于 XP 的情况下也支持这些功能。

ConfigDir

您可以在此处指定 Subversion 配置文件的不同位置。这将影响所有 TortoiseSVN 操作。

CtrlEnter

在 TortoiseSVN 中的大多数对话框中,您可以使用 Ctrl+Enter 关闭对话框,就像您单击了“确定”按钮一样。如果您不希望这样做,请将此值设置为 false

Debug

如果您希望为每个显示用于启动 TortoiseProc.exe 的命令行的命令弹出一个对话框,请将其设置为 true

DebugOutputString

如果您希望 TortoiseSVN 在执行期间打印调试消息,请将其设置为 true。这些消息只能使用特殊的调试工具捕获。

DialogTitles

对话框标题的默认格式(值为 0)为 url/path - name of dialog - TortoiseSVN。如果您将此值设置为 1,则格式将更改为 name of dialog - url/path - TortoiseSVN

DiffBlamesWithTortoiseMerge

TortoiseSVN 允许您指定外部差异查看器。但是,大多数此类查看器不适合变更归责(参见“归责差异”部分),因此您可能希望在这种情况下回退到 TortoiseMerge。为此,请将此值设置为 true

DlgStickySize

此值指定对话框必须靠近边框多少像素才能粘贴到边框。默认值为 3。要禁用此值,请将其设置为零。

FixCaseRenames

某些应用程序会在不通知的情况下更改文件名的大小写,但这些更改实际上既不必要也不需要。例如,从 file.txt 更改为 FILE.TXT 不会影响正常的 Windows 应用程序,但 Subversion 在这些情况下区分大小写。因此,TortoiseSVN 会自动修复此类大小写更改。

如果您不希望 TortoiseSVN 自动为您修复此类大小写更改,则可以将此值设置为 false

FullRowSelect

在各种对话框(例如,提交、检查修改、添加、还原等)中使用的状态列表控件使用整行选择(即,如果您选择一个条目,则会选择整行,而不仅仅是第一列)。这很好,但选定的行也会覆盖右下角的背景图像,这可能看起来很丑陋。要禁用整行选择,请将此值设置为 false

GroupTaskbarIconsPerRepo

此选项决定如何将各种 TortoiseSVN 对话框和窗口的 Win7 任务栏图标分组在一起。此选项对 Vista 无效!

  1. 默认值为 0。使用此设置,图标将按应用程序类型分组在一起。所有来自 TortoiseSVN 的对话框都分组在一起,所有来自 TortoiseMerge 的窗口都分组在一起,...

    图 4.95. 具有默认分组的任务栏

    Taskbar with default grouping


  2. 如果设置为 1,则不是所有对话框在一个应用程序中分组在一起,而是按存储库分组在一起。例如,如果您为存储库 A 打开了一个日志对话框和一个提交对话框,以及一个检查修改对话框和一个存储库 B 的日志对话框,那么 Win7 任务栏中将显示两个应用程序图标组,每个存储库一个组。但 TortoiseMerge 窗口不会与 TortoiseSVN 对话框分组在一起。

    图 4.96. 具有存储库分组的任务栏

    Taskbar with repository grouping


  3. 如果设置为 2,则分组方式与设置为 1 相同,只是 TortoiseSVN、TortoiseMerge、TortoiseBlame、TortoiseIDiff 和 TortoiseUDiff 窗口都将分组在一起。例如,如果您打开了提交对话框,然后双击修改后的文件,打开的 TortoiseMerge 差异窗口将与提交对话框图标位于任务栏上的同一图标组中。

    图 4.97. 带有仓库分组的任务栏

    Taskbar with repository grouping


  4. 如果设置为 3,则分组方式与设置为 1 相同,但分组不是根据仓库进行,而是根据工作副本进行。如果您将所有项目都放在同一个仓库中,但每个项目使用不同的工作副本,则此设置很有用。

  5. 如果设置为 4,则分组方式与设置为 2 相同,但分组不是根据仓库进行,而是根据工作副本进行。

GroupTaskbarIconsPerRepoOverlay

如果选项 GroupTaskbarIconsPerRepo 设置为 0(见上文),则此选项无效。

如果此选项设置为 true,则 Win7 任务栏上的每个图标都会显示一个小的彩色矩形叠加层,指示对话框/窗口所使用的仓库。

图 4.98. 带有仓库颜色叠加层的任务栏分组

Taskbar grouping with repository color overlays


HideExternalInfo

如果此选项设置为 false,则在更新期间会分别显示每个 svn:externals

如果此选项设置为 true(默认值),则仅当外部文件受更新影响(即以某种方式更改)时,才会显示外部文件的更新信息。否则,与普通文件和文件夹一样,不会显示任何内容。

HookCancelError

如果此选项设置为 true,则取消批准运行挂钩脚本的对话框将显示一个错误对话框,指示用户已取消。

IncludeExternals

默认情况下,TortoiseSVN 始终在更新时包含外部文件。这避免了工作副本不一致的问题。但是,如果您设置了大量外部文件,更新可能需要相当长的时间。将此值设置为 false 以运行默认更新,不包含外部文件。要包含外部文件进行更新,请运行 更新到版本... 对话框或将此值再次设置为 true

LogFindCopyFrom

当从合并向导启动日志对话框时,已合并的修订版将以灰色显示,但超出分支创建点的修订版也会显示。这些修订版以黑色显示,因为它们无法合并。

如果将此选项设置为 true,则 TortoiseSVN 会尝试查找创建分支的修订版,并隐藏所有超出该修订版的修订版。由于这可能需要相当长的时间,因此默认情况下禁用此选项。

LogMultiRevFormat

在日志对话框中选择多个修订版时,用于日志消息的格式字符串。

您可以在格式字符串中使用以下占位符

%1!ld!
将被替换为修订版号文本
%2!s!
将被替换为修订版的简短日志消息

LogStatusCheck

日志对话框以粗体显示工作副本路径所在的修订版。但这需要日志对话框获取该路径的状态。由于对于非常大的工作副本,这可能需要一段时间,因此您可以将此值设置为 false 以停用此功能。

MaxHistoryComboItems

如果可能,URL 和路径的组合框将显示以前使用过的 URL/路径的历史记录。此设置控制保存和显示的先前项目数量。默认值为 25 个项目。

MergeLogSeparator

当您从另一个分支合并修订版,并且合并跟踪信息可用时,将收集您合并的修订版的日志消息以构成提交日志消息。预定义的字符串用于分隔合并修订版的各个日志消息。如果您愿意,可以将其设置为包含您选择的分割符字符串的值。

MergeAllowMixedRevisionsDefault

通过设置为 true,您可以设置合并选项对话框中 允许混合修订版(不推荐)复选框的默认值。在配置此设置之前,请注意混合修订版工作副本合并的限制和潜在问题。

NumDiffWarning

如果您想一次显示比此设置指定的更多项目的差异,则会先显示一个警告对话框。默认值为 10。

OldVersionCheck

TortoiseSVN 每周大约检查一次是否有新版本可用。如果找到更新的版本,提交对话框将显示一个带有该信息的链接控件。如果您更喜欢旧的行为,即弹出对话框通知您更新,请将此值设置为 true

RepoBrowserTrySVNParentPath

存储库浏览器尝试获取由配置了 SVNParentPath 指令的 SVN 服务器生成的网页,以获取所有存储库的列表。要禁用此行为,请将此值设置为 false

ScintillaBidirectional

此选项启用提交消息编辑框的双向模式。如果启用,则会正确完成从右到左的语言文本编辑。由于此功能成本很高,因此默认情况下处于禁用状态。您可以通过将此值设置为 true 来启用它。

ScintillaDirect2D

此选项启用在 Scintilla 控件中使用 Direct2D 加速绘制,该控件用作例如提交对话框中的编辑框,以及用于统一 diff 查看器。但是,对于某些显卡,这有时无法正常工作,因此输入文本的游标并不总是可见的。如果发生这种情况,您可以通过将此值设置为 false 来关闭此功能。

OutOfDateRetry

此参数指定如果提交由于过时错误而失败,TortoiseSVN 的行为方式。

0

系统会询问用户是否要更新工作副本,并且在更新后不会重新打开提交对话框。

1

这是默认设置。系统会询问用户是否要更新工作副本,并且在更新后会重新打开提交对话框,以便用户可以立即继续提交。

2

类似于 1,但不是仅更新为提交选择的路径,而是对工作副本根目录进行更新。这有助于避免工作副本不一致。

3

系统不会要求用户更新工作副本。提交将直接失败,并显示过时错误消息。

PlaySound

如果设置为 true,TortoiseSVN 将在发生错误或警告时播放系统声音,或其他需要您注意的重要情况。如果要使 TortoiseSVN 保持静音,请将其设置为 false。请注意,项目监视器有其自己的播放声音设置,您可以在其设置对话框中进行配置。

ShellMenuAccelerators

TortoiseSVN 使用其资源管理器上下文菜单项的加速键。由于这会导致加速键重复(例如,SVN Commit 具有 Alt-C 加速键,但资源管理器的 Copy 条目也是如此)。如果您不想或不需要 TortoiseSVN 条目的加速键,请将此值设置为 false

ShowContextMenuIcons

如果您使用的是除 Windows 资源管理器以外的其他工具,或者您在显示上下文菜单时遇到问题,这将很有用。如果您不希望 TortoiseSVN 显示外壳上下文菜单项的图标,请将此值设置为 false。要再次显示图标,请将此值设置为 true

ShowAppContextMenuIcons

如果您不想让 TortoiseSVN 在其自己的对话框中显示上下文菜单的图标,请将此值设置为 false

ShowNotifications

如果您不想让项目监视器在检测到新提交时显示通知弹出窗口,请将此值设置为 false

StyleCommitMessages

提交和日志对话框在提交消息中使用样式(例如粗体、斜体)(有关详细信息,请参阅 名为“提交日志消息”的部分)。如果您不想这样做,请将该值设置为 false

UpdateCheckURL

此值包含 TortoiseSVN 用于下载文本文件以查找是否有可用更新的 URL。这可能对不想让用户更新 TortoiseSVN 直到他们批准的公司管理员有用。

UseCustomWordBreak

标准编辑控件不会在路径和 URL 中找到的正斜杠处停止。TortoiseSVN 对编辑控件使用自定义断字过程。如果您不希望这样做,而是使用默认设置,请将此值设置为 0。如果您只想在组合框中的编辑控件中使用默认设置,请将此值设置为 1。

VersionCheck

TortoiseSVN 每周大约检查一次是否有新版本可用。如果您不想让 TortoiseSVN 进行此检查,请将此值设置为 false

TortoiseSVN 主页