【发布时间】:2016-01-04 12:14:09
【问题描述】:
我们使用 Subversion 作为版本控制系统,使用 JIRA 作为我们项目的问题跟踪工具。在 SVN 中提交时(使用 TortoiseSVN 客户端),我们提供 JIRA 票证参考,因此它会根据该特定 JIRA 票证自动显示 JIRA 中提交的文件。
但是是否有任何 API 可用于查询查找针对特定 JIRA 票证提交的文件?
【问题讨论】:
我们使用 Subversion 作为版本控制系统,使用 JIRA 作为我们项目的问题跟踪工具。在 SVN 中提交时(使用 TortoiseSVN 客户端),我们提供 JIRA 票证参考,因此它会根据该特定 JIRA 票证自动显示 JIRA 中提交的文件。
但是是否有任何 API 可用于查询查找针对特定 JIRA 票证提交的文件?
【问题讨论】:
不幸的是,没有直接的方法来搜索 Subversion 提交消息。
如果这是您需要经常做的事情,那么我绝对建议您设置某种工具,在提交提交时对其进行索引并将交叉引用信息保存在数据库中(我们为此使用了trac )。我对 Jira 不熟悉,它可能有类似的东西可用。
另一种选择是编写一个脚本来提取完整的存储库日志并对其进行解析以查找对特定票证的引用。大多数流行的脚本语言都有 Subversion 库绑定,这应该使这变得相当简单(拉日志并为每个修订,在提交消息中搜索与您的票证参考格式匹配的正则表达式,如果找到匹配项则打印出修订号)。随着您的存储库变得越来越大,这可能需要很长时间才能运行,因此我不推荐这种方法,除非这只是您需要做一两次的事情。
【讨论】:
我不知道为什么这个选项(通过 TortoiseSVN 客户端可用)对您没有帮助 > 在 repo 文件夹中右键单击 > TortoiseSVN > 显示日志。这应该会打开 repo 的所有提交历史记录,并且您应该能够在此处找到您的提交(针对您的 JIRA ID)。我使用这种方法来找出我在分支中的提交。这是你要找的吗??
【讨论】:
这通过将“svn log”命令的输出过滤为仅包含问题跟踪号加上足够的先前相邻行(-B 选项)以查看输出中的修订号的提交消息来工作。
svn log -vl numCommitsToGoBack | grep -B numPreviousLines issueTrackingNumber
【讨论】: