如何在Redmine中修改存储库设置?

时间:2009-04-13 14:04:34

标签: svn repository redmine relocation

这可能听起来像一个愚蠢的问题,但我不能为我的生活找到答案。

我们在Redmine中设置了一个项目并链接到SVN存储库。一切都运行良好,但我们最近进行了存储库重定位,我们需要更新其Redmine存储库路径设置以指向新的存储库。

问题是该选项显示为灰色,我无法更改它。我想你可以点击“删除”并创建一个新的,但是这个选项听起来真的很可怕(URL里面有/ / /中的单词!!)我不想消灭回购。在Redmine手册中没有我能找到的参考资料。我该怎么办?

另外 - 与此相关 - 你知道旧提交中的所有票证引用是否仍然指向正确的位置?

6 个答案:

答案 0 :(得分:29)

好的,我想通了。我创建了一个带有虚拟svn repo的虚拟项目进行测试,最后点击了那个可怕的“删除”链接。事实证明它只删除了对存储库的引用,而不是repo本身。

这是一个公认的愚蠢问题,但这应记录在Redmine手册上:)

答案 1 :(得分:8)

另一种选择可以是更改“存储库”表中的值。它在存储库重定位的情况下运行良好。

答案 2 :(得分:3)

  

另一个选择可能是通过更改'repository'表中的值。它在存储库重定位的情况下运行良好。

除非你确定它们完全相同,否则我不建议这样做。


P.S。我刚刚意识到这个问题有多久了,但我认为它仍然具有相关性。

答案 3 :(得分:2)

事实上,我只是被同样的 dumb 问题困扰了。谢谢。 但是,看起来包含对redmine中每个提交的引用的数据库信息将被删除,然后重新创建。如果您的存储库很大,这可能需要很长时间。 (比如linux内核)

答案 4 :(得分:2)

这是在Redmine数据库上运行以更改存储库位置的MySQL查询:

UPDATE repositories SET url='/opt/git/NEW_LOCATION.git', root_url='/opt/git/NEW_LOCATION.git' WHERE url='/opt/git/OLD_LOCATION.git';

答案 5 :(得分:0)

在redmine中删除存储库时要非常小心。它不会删除您的物理存储库,但它会删除存储库的所有redmine存储,例如链接到问题。这些通常无法恢复(通过从重定位的存储库导入),因为有些是手动创建的,在我的情况下,一些链接很久以前就是使用提交注释中的另一个模式创建的。

重新定位存储库而不丢失链接数据的唯一方法是直接在数据库中更新URL(它只在“设置”页面中读取)。例如dotancohen建议

UPDATE repositories SET url='newurl', root_url='newurlroot' WHERE url='oldurl';