我们将Trac用于我正在开发的开源项目。我想将所有打开的门票导出到Github的问题。我发现了一些可能会这样做的小脚本,但我想知道是否有人这样做并有建议。
理想情况下,它会将trac的描述语法转换为markdown,并导出元数据,例如里程碑信息,但即使是简单的工作导出也可能没问题。
答案 0 :(得分:14)
https://github.com/trustmaster/trac2github看起来可能会运作良好,包括里程碑,门票,评论,转换用户名和设置受理人。
答案 1 :(得分:3)
我使用Trac查询将故障单详细信息导出到CSV文件,并使用PyGithub将其转换为Github问题。您可以在http://pypi.python.org/pypi/tratihubis/找到Python脚本和Trac查询。
CSV方法的优点是您不需要直接访问数据库,它可以与任何数据库一起使用,因为您只需要一个Trac查询。此外,您可以在导入之前手动清理CSV,例如删除您不想转换为问题的门票。
感谢PyGithub,所有这些都适用于Github API v3。 API v2已被弃用,因此一些较旧的脚本可能不再起作用。
答案 2 :(得分:2)
您可以尝试我的trac2github PHP script,它只移动票证,试图保留评论的格式和顺序。
答案 3 :(得分:1)
我还写了一个小工具 trac-hub 来完成这项工作:http://mavam.github.io/trac-hub。
答案 4 :(得分:1)
我最近需要在没有Trac服务器的直接数据库访问的情况下执行此操作,并编写了一个使用Trac的XML-RPC接口的Python脚本:
https://github.com/acdha/migrate-trac-issues-to-github
尝试保留用户分配,在故障单描述和注释中转换Trac标记,迁移提交链接,将故障单引用重写为相应的Github问题编号,并保留原始Trac数据以进行搜索。