有几种基于 Web 的代码库查看器可用于 Subversion,例如 ViewVC 和 WebSVN 。TortoiseSVN 提供了一种与这些查看器链接的方法。
您可以在 TortoiseSVN 中集成您选择的代码库查看器。为此,您需要定义一些属性来定义链接。它们必须在文件夹上设置:(名为“项目设置”的部分)
将此属性设置为代码库查看器的 URL,以查看特定修订版中的所有更改。它必须正确进行 URI 编码,并且必须包含 %REVISION%
。 %REVISION%
将被替换为所讨论的修订版号。这允许 TortoiseSVN 在日志对话框中显示一个上下文菜单项 → 。
将此属性设置为代码库查看器的 URL,以查看特定修订版中特定文件的更改。它必须正确进行 URI 编码,并且必须包含 %REVISION%
和 %PATH%
。 %PATH%
将被替换为相对于代码库根目录的路径。这允许 TortoiseSVN 在日志对话框中显示一个上下文菜单项 → 例如,如果您在日志对话框底部窗格中右键单击文件条目 /trunk/src/file
,则 URL 中的 %PATH%
将被替换为 /trunk/src/file
。
您也可以使用相对 URL 而不是绝对 URL。如果您的 Web 查看器与您的源代码库位于同一个域/服务器上,这将很有用。如果域名称发生更改,您无需调整 webviewer:revision
和 webviewer:pathrevision
属性。格式与 bugtraq:url
属性相同。见 名为“与错误跟踪系统/问题跟踪器集成”的部分。
为了系统正常运行,这些属性必须设置在文件夹上。当您提交文件或文件夹时,属性将从该文件夹中读取。如果在该文件夹中找不到属性,TortoiseSVN 将向上搜索文件夹树,直到找到未版本化的文件夹或树根(例如 C:\
)。如果您能确定每个用户都只从例如 trunk/
中检出,而不是从某个子文件夹中检出,那么您只需要在 trunk/
上设置属性。如果您不能确定,则应在每个子文件夹上递归设置属性。项目层次结构中更深层的属性设置会覆盖更高级别(更靠近 trunk/
)的设置。
对于项目属性 仅,即 tsvn:
、bugtraq:
和 webviewer:
,您可以使用 递归 复选框将属性设置为层次结构中的所有子文件夹,而不会将其设置为所有文件。
当您使用 TortoiseSVN 将新的子文件夹添加到工作副本时,父文件夹中存在的任何项目属性也会自动添加到新的子文件夹中。
由于仓库查看器集成依赖于访问 Subversion 属性,因此您只有在使用检出的工作副本时才能看到结果。远程获取属性是一个缓慢的操作,因此除非您从工作副本启动仓库浏览器,否则您不会在仓库浏览器中看到此功能。如果您通过输入仓库的 URL 启动仓库浏览器,则您将看不到此功能。
出于同样的原因,当使用仓库浏览器添加子文件夹时,项目属性不会自动传播。