views:

970

answers:

4
+5  Q: 

Migration To Trac

We are managing our development with Subversion over HTTPS, Bugzilla, and Mediawiki. Some of our developers have expressed an interest in migrating to Trac, so I have to evaluate what the cost of doing so would be.

For both the wiki and bugzilla, we would need to either migrate the existing data into Trac or a way to integrate with trac. Having two apps to create wiki pages or log bugs would not be acceptable. Also, currently each of these applications requires a separate sign on so we would need to map each of these accounts into Trac.

So know of any easy methods of importing or integrating these systems with Trac and/or a tutorial for doing so?

+1  A: 

Wiki pages

If you could export your pages to text files you could import them using the Trac-Admin: http://trac.edgewall.org/wiki/TracAdmin wiki import command. Some formating clean-up migration might be in order

Tickets/Bugs

Ilya Kochetov
+1  A: 

For Bugzilla, Trac has a script bugzilla2trac.py that will automate the process of importing Bugzilla bugs to Trac tickets for you. Of course, Trac doesn't have support for blocking/blockedby tickets out of the box, so if you want to import this data too, you'll have to use the MasterTicketsPlugin and then modify the script yourself (which is what we did when we migrated).

Adam Bellaire
+1  A: 

For MediaWiki there exists a script as well: http://trac.edgewall.org/ticket/5241

It has some bugs, but imports all important information (pages, revisions, images, users). Together with the other mentioned script you should be able to migrate to Trac.

Elmar Weber
A: 

One thing that is not covered (yet) by the import script is the resolution of bugzilla links of the kind bug X or bug X comment Y.

One solution for this is to use the RegexLinkPlugin (http://trac-hacks.org/wiki/RegexLinkPlugin) with the following configuration in the trac.ini file:

[regexlink]
regex1=\bbug (?P<bug_id_comment>\d+) comment #(?P<commentid>\d+)\b
url1=http://your.trac.instance.com/ticket/\g&lt;bug_id_comment&gt;#comment:\g&lt;commentid&gt;
regex2=\bbug (?P<bug_id>\d+)\b
url2=http://your.trac.instance.com/ticket/\g&lt;bug_id&gt;
Manuel