2011-07-12 32 views
23

我们使用Trac开发我正在开发的一个开源项目。我想将我们的所有开放票导出到Github的问题。我找到了一些可以做到的小脚本,但是我想知道是否有人做过这些并且有建议。如何将Trac导出到Github问题

理想情况下,它会将trac的描述语法转换为降价并导出元数据(如里程碑信息),但即使是简单的工作导出也可以。

回答

14

https://github.com/trustmaster/trac2github看起来可能效果不错,涵盖里程碑,门票,评论,转换用户名和设置受让人。

+0

这似乎工作很好,除了没有标签创建,据我所知。你不会碰巧知道一个脚本,也照顾标签? (注意,我向trac2github的所有者发送了[功能请求](https://github.com/trustmaster/trac2github/issues/2)) –

+0

此脚本仅支持MySQL数据库,而不支持SQLite,请参阅https:// github.com/trustmaster/trac2github/issues/5 – yegor256

+2

在撰写本文时,trac2github脚本现在支持标签,以及SQLite和PostgreSQL Trac后端。 – ctrueden

3

我使用Trac查询将票证详细信息导出为CSV文件,并使用PyGithub将它们转换为Github问题。您可以在http://pypi.python.org/pypi/tratihubis/找到Python脚本和Trac查询。

CSV方法的优点是您不需要直接访问数据库,它可以与任何数据库一起工作,因为您只需要一个Trac查询。此外,您可以在导入之前手动清理CSV,例如删除您不想转换为问题的门票。

感谢PyGithub,所有这些与Github API v3一起使用。 API v2已被弃用,因此一些执行相同操作的旧脚本可能不再工作。

1

我最近需要做,而不必为Trac的服务器直接访问数据库,并写了使用Trac系统的XML-RPC接口的Python脚本:

https://github.com/acdha/migrate-trac-issues-to-github

这让一些企图保存用户分配,在故障单说明和注释中转换Trac标记,迁移提交链接,将故障单引用重写为相应的Github问题编号,并保留用于搜索的原始Trac数据。