Redmine和SVN:如何在提交后将修订版本链接到问题?

6
我们已经成功地将Redmine与SVN集成。这是一个成熟的集成(几个月了)。提交后钩子会更新Redmine中的存储库。在SVN提交的评论会美观地导入到Redmine中,它能够在问题和修订版本之间创建链接、记录时间等。
然而,由于时间限制的问题,有一个紧急的错误必须快速修复并且没有评论进行提交。这个问题甚至不在Redmine中。这发生在凌晨3:35,当最佳实践像在北极冬天出售的一袋冰一样重要。
现在,今天早上,我们要将问题输入Redmine并将那个疯狂的凌晨3:35的修订版本链接到它。如何做到呢?
我曾经通过删除Redmine数据库中的一些记录并运行存储库更新任务来解决这个问题。但我真的记不清楚了,也真的不想去尝试。
有什么方法?功能?插件?脚本?任何东西吗?
谢谢。

你想让Redmine重新读取你项目的SVN日志吗?如果你从项目设置中删除仓库,然后再次输入并进入仓库选项卡,它可能会从头开始加载所有内容。 - Dmitry Yudakov
1
你应该把它作为一个答案发布。这是一个好建议,但有点过头了,不是吗?另外,如果我删除一个仓库,Redmine 不会试图干扰我的实际 SVN 仓库吗?这是我一直想问的问题... - Adriano Carneiro
4个回答

3

让redmine重新读取项目的svn日志的一种可能的解决方案是从项目设置中删除存储库,重新输入并转到存储库选项卡,它可能会从头开始加载所有内容。

这是一个解决方法,也许还有更好的方法,但它应该仍然有效。从redmine项目设置中删除存储库不会影响您实际的svn存储库。


@Adrian Svn日志很少更改,几乎从不更改,因此我怀疑redmine开发人员是否创建了一些特殊的重新加载方式。当我们错过在svn日志中放置redmine标签时,通常只需发布“在r195中实现”-这样我们仍然能够相当容易地跟踪更改,尽管它们不被视为相关联。 - Dmitry Yudakov
这是一个不错的、简单的解决方法!它在bzr上也起作用了。谢谢! - David LeBauer

1

0

我不是100%确定,但是...

在Redmine代码中有一个叫做fetch_changesets的方法,它获取所有项目的存储库中的更改集。它上面的注释说:

获取活跃项目的所有存储库的新更改集
可以由外部脚本定期调用
例如:ruby script/runner "Repository.fetch_changesets"

下面还有另一个叫做scan_changesets_for_issue_ids的方法,这就是用于重新扫描评论的方法。它们在models/repository.rb中,因此您可以修改它们以清除、获取并重新扫描所有内容,并创建一个新方法。显然,您需要设置SVN以允许更改历史提交消息。


0

从存储库修订条目中,您可以手动将问题添加到相关问题列表中。

这不是真正的URL,但您会明白。

http://server/projects/projectname/repository/reponame/revisions/nnn

有一个“相关问题”段落和一个标题为“添加”的链接。

它将插入一个小表单,允许您输入相关问题编号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接