README 2.3 KB

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