Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Trac导出到Github问题_Github_Trac_Issue Tracking - Fatal编程技术网

如何将Trac导出到Github问题

如何将Trac导出到Github问题,github,trac,issue-tracking,Github,Trac,Issue Tracking,我们将Trac用于我正在进行的一个开源项目。我想将我们所有的公开票证导出到Github的发行版。我已经找到了一些小脚本,可以做到这一点,但我想知道是否有人这样做,并提出了一些建议 理想情况下,它可以将trac的描述语法转换为标记,还可以导出元数据,如里程碑信息,但即使是一个简单的、有效的导出也可以。看起来它可能工作得很好,包括里程碑、票证、评论、,转换用户名和设置受让人。我使用Trac查询将票证详细信息导出到CSV文件,并使用将其转换为Github问题。您可以在中找到Python脚本和Trac查

我们将Trac用于我正在进行的一个开源项目。我想将我们所有的公开票证导出到Github的发行版。我已经找到了一些小脚本,可以做到这一点,但我想知道是否有人这样做,并提出了一些建议


理想情况下,它可以将trac的描述语法转换为标记,还可以导出元数据,如里程碑信息,但即使是一个简单的、有效的导出也可以。

看起来它可能工作得很好,包括里程碑、票证、评论、,转换用户名和设置受让人。

我使用Trac查询将票证详细信息导出到CSV文件,并使用将其转换为Github问题。您可以在中找到Python脚本和Trac查询

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


多亏了PyGithub,所有这些都可以在Github API v3上运行。API v2已被弃用,因此一些旧的脚本可能无法再使用了。

您可以尝试my,它只移动票据,试图保留注释的格式和顺序。

我还编写了一个小型实用程序trac hub,用于执行此任务:


它用于访问github的API和与trac数据库的接口。因此,很容易适应您的trac安装。

我最近需要在不直接访问trac服务器数据库的情况下执行此操作,并编写了一个使用trac的XML-RPC接口的Python脚本:


它试图保留用户分配、转换票据描述和注释中的Trac标记、迁移提交链接、将票据引用重写为相应的Github发行号,并保留原始Trac数据以供搜索。

这似乎工作得很好,但据我所知,没有创建任何标签。你不知道一个脚本也会处理标签吗?(注意,我已经向trac2github的所有者发送了一封邮件)该脚本只支持MySQL数据库,不支持SQLite,请参阅本文撰写时,trac2github脚本现在确实支持标签,以及SQLite和PostgreSQL Trac后端。我让trac2github正常工作,但我不得不禁用忽略没有里程碑的票证的部分。否则就很容易了,这并不令人满意。我们正在进行一个20k问题的项目,可能有500人受到影响。需要有一种方法来减轻他们的痛苦。