Как экспортировать Trac в Github? - PullRequest
23 голосов
/ 13 июля 2011

Мы используем Trac для проекта с открытым исходным кодом, над которым я работаю. Я хотел бы экспортировать все наши открытые билеты на Github's Issues. Я нашел пару небольших сценариев, которые могли бы сделать это, но мне было интересно, если кто-то сделал это и есть предложения.

В идеале, он будет преобразовывать синтаксис описания trac в уценку, а также экспортировать метаданные, например информацию о вехах, но даже простой, работающий экспорт, вероятно, будет в порядке.

Ответы [ 5 ]

14 голосов
/ 14 июля 2011

https://github.com/trustmaster/trac2github похоже, что он может работать хорошо, охватывая основные этапы, тикеты, комментарии, преобразование имен пользователей и назначение уполномоченных.

3 голосов
/ 01 мая 2012

Я экспортировал данные билета в CSV-файл, используя запрос Trac, и преобразовал их в проблемы Github, используя PyGithub . Вы можете найти скрипт Python и запрос Trac на http://pypi.python.org/pypi/tratihubis/.

Преимущество подхода CSV состоит в том, что вам не нужен прямой доступ к базе данных, и он работает с любой базой данных, потому что все, что вам нужно, это запрос Trac. Кроме того, вы можете вручную очистить CSV перед импортом и, например, удалить билеты, которые вы не хотите конвертировать в вопросы.

Благодаря PyGithub все это работает с Github API v3. API v2 устарел, поэтому некоторые старые сценарии, выполняющие то же самое, могут больше не работать.

2 голосов
/ 21 апреля 2013

Вы можете попробовать мой PHP-скрипт trac2github , который перемещает только тикеты, пытаясь сохранить форматирование и порядок комментариев.

1 голос
/ 24 октября 2013

Недавно мне нужно было сделать это, не имея прямого доступа к базе данных для сервера Trac, и написал скрипт Python, который использует интерфейс XML-RPC Trac:

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

Он предпринимает некоторые попыткичтобы сохранить пользовательские назначения, преобразуйте разметку Trac в описании и комментариях к заявке, перенесите ссылки для фиксации, переписайте ссылки на заявки на соответствующие номера выпуска Github и сохраните исходные данные Trac для поиска.

1 голос
/ 31 мая 2013

Я также написал небольшую утилиту trac-hub , которая выполняет эту работу: http://mavam.github.io/trac-hub.

Она использует octokit для доступа к API github и продолжение для взаимодействия с базой данных trac.В результате его довольно легко адаптировать к вашей установке trac.

...