所有文章 >>  Subversion(SVN) 和 URTracker的集成

条件

  • 安装有TortoiseSVN客户端
  • 知道URTracker的网址

设置SVN项目属性

1. 在项目目录上点右键,在上下文菜单中选择TortoiseSVN->Properties。
SVN和URTracker集成 

在弹出的Properties对话框中,添加如下的属性(添加方法为点对话框中的“New...”按钮,在弹出的对话框中选择Property Name,输入Property Value):
bugtrap:label  值为Issue ID:
bugtrap:message 相关Issue:%BUGID%
bugtrap:url 值为:http://urtracker的网址/pts/viewproblem.aspx?problem=%BUGID%
bugtrap:warnifnoissue 值为:true

如下图所示:
SVN和URTracker的集成

 完成后,在提交源代码文件的时候,便可以输入对应的事务ID(注意目前只支持事务ID,也就是事务的全局唯一序号,是一个数字值,不是事务在项目中的编码)。如果提交的代码对应于多个事务,可以一起输入并用逗号分隔开。如下图所示:

SVN和URTracker集成

提交后,查看LOG时,便可以看到对应的事务ID。点击即可打开事务的页面。如下图所示:

SVN和URTracker集成

 

 

 

-----以下内容为参考----

在软件开发中,修改依赖于一个bug或问题编号是很常见的。bug跟踪系统的用户(问题跟踪者)喜欢在问题跟踪中将Subversion的修改与一个指定编号联系起来。因此很多问题跟踪者提供了一个预提交钩子脚本,分析日志,查找提交相关的bug编号。这稍微有些不可靠,因为它依赖于用户写完全的日志,预提交钩子才能正确分析。

TortoiseSVN可以在两个方面帮助用户:

当用户输入日志信息时,一个定义良好,包含问题编号,与此提交相关的的行,会自动增加。这样减少了用户输入的问题编号不能比bug跟踪系统正确分析的风险。

或者TortoiseSVN高亮显示日志消息中能被问题跟踪者识别的部分。这样,用户就知道日志消息能被正确解析。

当用户浏览日志信息,TortoiseSVN在日志信息中创建指向每个bug标示的链接,它可以用浏览器打开。

你可以在TortoiseSVN中集成bug跟踪工具。为了使用这个特性,你要定义一些以bugtraq:开始的属性,它们只能在文件夹上设置 (第 5.15 节 “项目设置”)。

有两个方法集成TortoiseSVN 和问题跟踪。一个基于简单字符串,另一个基于正则表达式。它们的用法是:

bugtraq:url
将这个属性设置为你的bug跟踪工具的地址。它必须编码并且包含%BUGID%。%BUGID%用你输入的问题编号替换。它允许TortoiseSVN 在日志对话框中显示链接,于是你可以在察看版本日志时直接进入bug跟踪工具。你可以不提供这个属性,但是这样TortoiseSVN就不能显示链接了,只能显示问题编号。例如TortoiseSVN 使用http://issues.tortoisesvn.net/?do=details&id=%BUGID%

bugtraq:warnifnoissue
如果你想TortoiseSVN给出空问题编号的警告,就设置为 真。有效取值是 真/假。如果没有定义,那么假定为 假。

在最简单的方法里,TortoiseSVN为用户显示了一个单独的bug ID输入字段,然后后面预计会追加一个用户输入日志信息的行。

bugtraq:message
这个属性将问题追踪系统激活为输入框模式。 如果设置了这个属性,在拟提交时,TortoiseSVN会提示你输入问题单号码。它通常会在日志信息后面添加一行。必须包含%BUGID%,在提交时会被替换为问题单号。这确保了你的提交日志包含了问题单号,保证了单号可以被问题追踪工具解析,从而与提交关联。例如TortoiseSVN项目使用Issue : %BUGID%,但是这依赖于你的工具。

bugtraq:append
这个属性定义了bug-ID。是追加到(true)日志信息的末尾,还是插入到(false)日志信息的开始。有效的值包括true/false,如果没有定义,默认是true ,所以现存的项目不会被打破。

bugtraq:label
是TortoiseSVN的提交对话框中用来输入问题单号码的输入项,如果没有设置,将会显示Bug-ID / Issue-Nr:,要记住窗口不会为适应标签而改变大小,所以请保持标签的小于20-25个字符。

bugtraq:number
如果设置为true,问题单号文本框只能输入数字,一个例外是逗号,所以你可以使用逗号分割输入的多个号码。合法的值包括true/false, 如果没有设置,默认是true。

在使用正则表达式的方法中,TortoiseSVN不会显示一个单独的输入框,而是标记用户输入的日志信息,认为这些标志可以被问题追踪工具识别。这是在用户编写日志信息的时候完成的,这也意味着bug ID可以出现在日志信息的任何位置!这种方法非常灵活,也是TortoiseSVN项目本身使用的方法。

如果同时设置了bugtraq:message和bugtraq:logregex属性,日志正则表达式会优先使用。