【发布时间】:2013-02-12 21:10:57
【问题描述】:
我的最终目标如下:
我们希望在我们的问题管理软件(在我们的例子中是 Atlassion Jira)中创建代码更改的完全可追溯性。我们已经强制用户要求提供 Jira 票号(尽管这是一个软要求)。我们的开发人员经常要做的一件事是在遇到代码时修复代码中的小问题。为了获得适当的可追溯性,他们需要前往 jira 并注册一张票并使用该票号来提交更改。但这确实很乏味且耗时。
因此,我们的计划是更轻松地将小型固定提交到代码库,但在我们的问题管理系统中确实为这些更改提供单独的票证。
因此,最好的方法是简单地处理提交消息中定义的宏,该宏会自动创建票证。例如
#improvement NPE fix on whatchamacallit it. This will gracefully handle
empty values. But in places when thingamabob expects an exception, it will
no longer receive it.
这应该会自动在我们的 jira 中记录“快速修复”项目的工单。此票证生成将生成 ID 为 QF-1234 的票证。
这一切都可以通过预提交钩子实现。但是,我们希望在提交消息中包含票号 QF-1234 而不是“#improvement”宏。这样SVN客户端可以链接到票号。
我希望这种机制以同步和块的方式工作。明显的副作用是,如果无法达到 jira,则提交失败。但这没关系/可以接受。
可以通过预提交挂钩实现自动创建票证。但我没有看到在提交完成之前更新提交消息的方法。
所以我的问题如下,有谁知道我如何能够在 SVN 事务中更新提交消息(无需创建修改后的 SVN 库)。 或者有一些其他可靠的方法来达到相同的结果。我知道我可以在新事务中更新提交消息,但这会产生很多不良副作用。
请注意,我对一个脆弱的解决方案非常满意,如果出现任何问题,它都会导致提交失败。重新提交很便宜,手动创建问题不到 1 分钟(但我不想浪费那一分钟)。
【问题讨论】:
标签: svn