我们使用Trac开发我正在开发的一个开源项目。我想将我们的所有开放票导出到Github的问题。我找到了一些可以做到的小脚本,但是我想知道是否有人做过这些并且有建议。如何将Trac导出到Github问题
理想情况下,它会将trac的描述语法转换为降价并导出元数据(如里程碑信息),但即使是简单的工作导出也可以。
我们使用Trac开发我正在开发的一个开源项目。我想将我们的所有开放票导出到Github的问题。我找到了一些可以做到的小脚本,但是我想知道是否有人做过这些并且有建议。如何将Trac导出到Github问题
理想情况下,它会将trac的描述语法转换为降价并导出元数据(如里程碑信息),但即使是简单的工作导出也可以。
https://github.com/trustmaster/trac2github看起来可能效果不错,涵盖里程碑,门票,评论,转换用户名和设置受让人。
我使用Trac查询将票证详细信息导出为CSV文件,并使用PyGithub将它们转换为Github问题。您可以在http://pypi.python.org/pypi/tratihubis/找到Python脚本和Trac查询。
CSV方法的优点是您不需要直接访问数据库,它可以与任何数据库一起工作,因为您只需要一个Trac查询。此外,您可以在导入之前手动清理CSV,例如删除您不想转换为问题的门票。
感谢PyGithub,所有这些与Github API v3一起使用。 API v2已被弃用,因此一些执行相同操作的旧脚本可能不再工作。
您可以尝试我的trac2github PHP script,它只移动票据,尝试保留格式和注释顺序。
我也写过一个小工具trac-hub这样做的工作:http://mavam.github.io/trac-hub。
我最近需要做,而不必为Trac的服务器直接访问数据库,并写了使用Trac系统的XML-RPC接口的Python脚本:
https://github.com/acdha/migrate-trac-issues-to-github
这让一些企图保存用户分配,在故障单说明和注释中转换Trac标记,迁移提交链接,将故障单引用重写为相应的Github问题编号,并保留用于搜索的原始Trac数据。
这似乎工作很好,除了没有标签创建,据我所知。你不会碰巧知道一个脚本,也照顾标签? (注意,我向trac2github的所有者发送了[功能请求](https://github.com/trustmaster/trac2github/issues/2)) –
此脚本仅支持MySQL数据库,而不支持SQLite,请参阅https:// github.com/trustmaster/trac2github/issues/5 – yegor256
在撰写本文时,trac2github脚本现在支持标签,以及SQLite和PostgreSQL Trac后端。 – ctrueden