迁移到Trac

时间:2020-03-06 15:05:02  来源:igfitidea点击:

我们正在通过Subversion over HTTPS,Bugzilla和Mediawiki管理开发。我们的一些开发人员已经表示有兴趣迁移到Trac,因此我必须评估这样做的成本。

对于Wiki和Bugzilla,我们都需要将现有数据迁移到Trac中,或者将其与Trac集成。有两个应用程序可以创建Wiki页面或者记录错误,这是不可接受的。另外,当前这些应用程序中的每一个都需要单独登录,因此我们需要将这些帐户中的每一个映射到Trac中。

因此,我们知道将这些系统与Trac导入或者集成的任何简便方法和/或者用于执行此操作的教程吗?

解决方案

维基页面

如果可以将页面导出为文本文件,则可以使用Trac-Admin导入它们:http://trac.edgewall.org/wiki/TracAdminwiki import命令。某些格式的清理迁移可能是按顺序进行的

门票/臭虫

  • Tom Lazar编写的此脚本使我们能够将票务系统与CSV文件进行同步。
  • 这使我们能够从BugZilla进行迁移:http://bitten.edgewall.org/wiki/TracImport
  • 我们也可以查看以下资源:http://trac.edgewall.org/wiki/TracSynchronize

对于Bugzilla,Trac具有脚本bugzilla2trac.py,该脚本将自动为我们将Bugzilla Bug导入Trac票证的过程。当然,Trac不支持开箱即用的阻止/阻止票证,因此,如果我们也想导入此数据,则必须使用MasterTicketsPlugin然后自己修改脚本(这是我们在我们迁移了)。

对于MediaWiki,也存在一个脚本:http://trac.edgewall.org/ticket/5241

它有一些错误,但是会导入所有重要信息(页面,修订,图像,用户)。与其他提到的脚本一起,我们应该可以迁移到Trac。

导入脚本尚未涵盖的一件事是" bug X"或者" bug X注释Y"类型的bugzilla链接的解析。

一种解决方案是在trac.ini文件中使用具有以下配置的RegexLinkPlugin(http://trac-hacks.org/wiki/RegexLinkPlugin):

[regexlink]
regex1=\bbug (?P<bug_id_comment>\d+) comment #(?P<commentid>\d+)\b
url1=http://your.trac.instance.com/ticket/\g<bug_id_comment>#comment:\g<commentid>
regex2=\bbug (?P<bug_id>\d+)\b
url2=http://your.trac.instance.com/ticket/\g<bug_id>