在软件开发中,修改依赖于一个bug或问题编号是很常见的。bug跟踪系统的用户(问题跟踪者)喜欢在问题跟踪中将Subversion的修改与一个指定编号联系起来。因此很多问题跟踪者提供了一个预提交钩子脚本,分析日志,查找提交相关的bug编号。这稍微有些不可靠,因为它依赖于用户写完全的日志,预提交钩子才能正确分析。
TortoiseSVN可以在两个方面帮助用户:
当用户输入日志信息时,一个定义良好,包含问题编号,与此提交相关的的行,会自动增加。这样减少了用户输入的问题编号不能比bug跟踪系统正确分析的风险。
或者TortoiseSVN高亮显示日志消息中能被问题跟踪者识别的部分。这样,用户就知道日志消息能被正确解析。
当用户浏览日志信息,TortoiseSVN在日志信息中创建指向每个bug标示的链接,它可以用浏览器打开。
你可以在TortoiseSVN中集成bug跟踪工具。为了使用这个特性,你要定义一些以bugtraq:
开始的属性,它们只能在文件夹上设置 (第 5.15 节 “项目设置”)。
有两个方法集成TortoiseSVN 和问题跟踪。一个基于简单字符串,另一个基于正则表达式
。它们的用法是:
将这个属性设置为你的bug跟踪工具的地址。它必须编码并且包含%BUGID%
。%BUGID%
用你输入的问题编号替换。它允许TortoiseSVN 在日志对话框中显示链接,于是你可以在察看版本日志时直接进入bug跟踪工具。你可以不提供这个属性,但是这样TortoiseSVN就不能显示链接了,只能显示问题编号。例如TortoiseSVN 使用http://issues.tortoisesvn.net/?do=details&id=%BUGID%
。
如果你想TortoiseSVN给出空问题编号的警告,就设置为 真
。有效取值是 真/假
。如果没有定义,那么假定为 假
。
在最简单的方法里,TortoiseSVN为用户显示了一个单独的bug ID输入字段,然后后面预计会追加一个用户输入日志信息的行。
这个属性将问题追踪系统激活为输入框
模式。 如果设置了这个属性,在拟提交时,TortoiseSVN会提示你输入问题单号码。它通常会在日志信息后面添加一行。必须包含%BUGID%
,在提交时会被替换为问题单号。这确保了你的提交日志包含了问题单号,保证了单号可以被问题追踪工具解析,从而与提交关联。例如TortoiseSVN项目使用Issue : %BUGID%
,但是这依赖于你的工具。
这个属性定义了bug-ID。是追加到(true)日志信息的末尾,还是插入到(false)日志信息的开始。有效的值包括true/false
,如果没有定义,默认是true
,所以现存的项目不会被打破。
是TortoiseSVN的提交对话框中用来输入问题单号码的输入项,如果没有设置,将会显示Bug-ID / Issue-Nr:
,要记住窗口不会为适应标签而改变大小,所以请保持标签的小于20-25个字符。
如果设置为true
,问题单号文本框只能输入数字,一个例外是逗号,所以你可以使用逗号分割输入的多个号码。合法的值包括true/false
, 如果没有设置,默认是true
。
在使用正则表达式
的方法中,TortoiseSVN不会显示一个单独的输入框,而是标记用户输入的日志信息,认为这些标志可以被问题追踪工具识别。这是在用户编写日志信息的时候完成的,这也意味着bug ID可以出现在日志信息的任何位置!这种方法非常灵活,也是TortoiseSVN项目本身使用的方法。
如果同时设置了bugtraq:message
和bugtraq:logregex
属性,日志正则表达式
会优先使用。
提示 | |
---|---|
即使你的问题追踪工具没有pre-commit钩子来解析日志信息,你仍然可以使用这个功能将日志信息中的问题单转化为链接! |
一些 tsvn:
属性需要 true/false
值。它也理解 yes
是 true
的同义词,no
是 false
的同义词。
设置文件夹的属性 | |
---|---|
为了系统能够工作,这个属性必须设置到文件夹上。当你提交文件或文件夹,属性会从文件夹上读取。如果没有发现属性,TortoiseSVN会向上级查找,直到发现一个没有版本控制的文件夹或根目录(例如 对于 |
问题追踪集成并没有限制在TortoiseSVN,可以用于所有的Subversion客户端,更多信息可以看Issuetracker Integration Specification。