2004-03-22 00:32:16 +03:00
|
|
|
gnatsparse
|
|
|
|
==========
|
|
|
|
|
|
|
|
Author: Daniel Berlin <dan@dberlin.org>
|
|
|
|
|
|
|
|
gnatsparse is a simple Python program that imports a GNATS database
|
|
|
|
into a Bugzilla system. It is based on the gnats2bz.pl Perl script
|
|
|
|
but it's a rewrite at the same time. Its parser is based on gnatsweb,
|
|
|
|
which gives a 10 times speed improvement compared to the previous code.
|
|
|
|
|
|
|
|
Features
|
|
|
|
--------
|
|
|
|
|
|
|
|
* Chunks audit trail into separate comments, with the right From's, times, etc.
|
|
|
|
|
|
|
|
* Handles followup emails that are in the report, with the right From's, times,
|
|
|
|
etc.
|
|
|
|
|
|
|
|
* Properly handles duplicates, adding the standard bugzilla duplicate message.
|
|
|
|
|
|
|
|
* Extracts and handles gnatsweb attachments, as well as uuencoded attachments
|
|
|
|
appearing in either followup emails, the how-to-repeat field, etc. Replaces
|
|
|
|
them with a message to look at the attachments list, and adds the standard
|
|
|
|
"Created an attachment" message that bugzilla uses. Handling them includes
|
|
|
|
giving them the right name and mime-type. "attachments" means multiple
|
|
|
|
uuencoded things/gnatsweb attachments are handled properly.
|
|
|
|
|
|
|
|
* Handles reopened bug reports.
|
|
|
|
|
|
|
|
* Builds the cc list from the people who have commented on the report,
|
|
|
|
and the reporter.
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
|
|
|
It requires python 2.2+, it won't work with 1.5.2 (Linux distributions
|
|
|
|
ship with 2.2+ these days, so that shouldn't be an issue).
|
|
|
|
|
|
|
|
Documentation
|
|
|
|
-------------
|
|
|
|
|
|
|
|
Documentation can be found inside the scripts. The source code is self
|
|
|
|
documenting.
|
|
|
|
|
2004-03-23 20:59:11 +03:00
|
|
|
Issues for someone trying to use it to convert a gnats install
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
1. We have three custom fields bugzilla doesn't ship with,
|
|
|
|
gcchost, gcctarget, and gccbuild.
|
|
|
|
We removed two bugzilla fields, rep_platform and op_sys.
|
|
|
|
If you use the latter instead of the former, you'll need to
|
|
|
|
update the script to account for this.
|
|
|
|
2. Because gcc attachments consist of preprocessed source, all attachments
|
|
|
|
inserted into the attachment database are compressed with zlib.compress.
|
|
|
|
This requires associated bugzilla changes to decompress before sending to
|
|
|
|
the browser.
|
|
|
|
Unless you want to make those changes (it's roughly 3 lines), you'll
|
|
|
|
need to remove the zlib.compress call.
|
|
|
|
3. You will need to come up with your own release to version mapping and
|
|
|
|
install it.
|
|
|
|
4. Obviously, any extra gnats fields you have added will have to
|
|
|
|
be handled in some manner.
|