[racket-dev] Migrating the bug database to GitHub

From: Michael W (mwilber at uccs.edu)
Date: Fri Mar 16 19:20:06 EDT 2012

For what it's worth, github-flavored markdown (used in issues and
pull requests) does let you embed inline images and
syntax-highlighted source code, written like this:

![Alt text](http://imgur.com/.....jpg)

(lambda (foo)
  ;; scheme source here

You can see an example in this really old pull request:

So yes, there's no attachments, but we don't lose the ability to
add inline images and source code at least.

See also: http://github.github.com/github-flavored-markdown/

19 minutes ago, Sam Tobin-Hochstadt wrote:
> Summary: I'm preparing to switch the Racket bug database to GitHub.
> At the end of this email, there's a long list of reasons why (and a
> few limitations).
> Action: Please visit http://samth2.ccs.neu.edu:8080/github-auth/ to make
> it possible to associate your existing bugs with your GitHub account.
> =======
> Going forward: we're going to switch from maintaining our own bug system
> to using the Issues database provided by GitHub.  All existing bugs
> (except "bogus" bugs) will be migrated, with all of their data.  We will
> keep most of the features we currently have, as well.
> Here's how it will work in the new system:
> 1. You'll be able to enter a GitHub username and password in DrRacket to
>    post bugs as your GitHub user.  For people who don't do this (mostly
>    for people who don't have a GitHub account), the bug will be
>    submitted using a GitHub account that is specifically set up for this
>    purpose.  In the latter case, the bug will show up on the GitHub
>    system as coming from that account, but the bug text will have the
>    original email for notifications.
> 2. If you use a GitHub account to create a bug, notifications for
>    changes to the bug will be sent to you as usual from GitHub.  For
>    non-GitHub bugs, a script that gets bug change notifications will
>    send out emails to the original email that was used to submit the
>    bug.
> 3. If you currently have an account that lets you edit the Racket bug
>    database (you should already know if this applies to you), you will
>    need to setup a GitHub account if you don't already have one.  You
>    will be able to edit bugs from the GitHub web interface, just as you
>    could from the Gnats web interface.  You will automatically be
>    notified of new bugs, and you can control this via GitHub.
> Action: get a GitHub account if you don't have one already, and send the
> account name to me.
> That's it!  It's really pretty simple.
> =======
> Migration:  The hard part in all of this is migrating the existing
> bugs.  Fortunately, with a bunch of help from Eli, I've managed to
> parse the entire existing Gnats database, and use it convert the
> existing bugs to the data formats that the GitHub API expects.
> You can see samples of the results at the following bugs:
> https://github.com/samth/test-bugs/issues/170
> https://github.com/samth/test-bugs/issues/171
> https://github.com/samth/test-bugs/issues/172
> https://github.com/samth/test-bugs/issues/173
> https://github.com/samth/test-bugs/issues/174
> https://github.com/samth/test-bugs/issues/175
> https://github.com/samth/test-bugs/issues/176
> https://github.com/samth/test-bugs/issues/177
> https://github.com/samth/test-bugs/issues/178
> https://github.com/samth/test-bugs/issues/179
> https://github.com/samth/test-bugs/issues/180
> As you can see, some of the parts of the bugs are formatted in
> fixed-width font, as for code, and some not.  In general, for open
> bugs I made all these decisions manually, and for closed bugs I used
> heuristics.  I may be able to improve these heuristics before I do the
> final migration.
> However, as you can see, all of these bugs as submitted by the same
> GitHub user.  To fix this, I need to be able to link your email
> address and your GitHub username, and to be able to post bugs as under
> your name.
> Action:  If you want bugs you have submitted or commented on to be
> associated on GitHub with your account there, then please visit:
>   http://samth2.ccs.neu.edu:8080/github-auth/
> and follow the directions there.  Please include *all* the email
> addresses you've used to submit bugs, including really old ones.
> Don't worry if you miss some, though -- I'll do my best to figure out
> the missing ones, and you can visit the site as many times as you
> want.
> ======
> I'd like to thank Eli for his invaluable assistance with all of this.
> Feedback and suggestions on any aspect of this is encouraged.
> =======
> What do we get from using GitHub issues?
>   * Enabling community interaction.  GitHub is where the developer
>     community is, and switching to GitHub makes it much easier for
>     other people to contribute.
>   * A working, maintained system.
>   * Simple, modern web interface.
>   * Simple label-based interaction with bugs.
>   * Various GitHub-related tools that exist now, and will be made in the
>     future.
>   * Commit-based bug closing, similar to what we have with Gnats.  See
>     https://github.com/blog/831-issues-2-0-the-next-generation for
>     details.
>   * References to bug numbers are highlighted in commit messages when
>     viewed via the github interface.
> What do we lose from the switch?
>   * Complete control over the aspect of the bug system.  (But losing
>     this makes the first advantage above.)
>   * The bug notification-turned-mailing-list interaction aspect of Gnats
>     is mostly lost.  GitHub sends out notifications when a bug is
>     created, but it will *not* send out further comments unless you're
>     participating in the discussion (i.e., you sent a comment on the
>     issue).
>     - This makes for the most major workflow change: instead of relying
>       on your mailbox for all bug-related activity, you *will* need to
>       use the GitHub (web) interface.
>     - Note: it is possible to set up the listening script to send out
>       notifications for all updates.  However, doing this means that you
>       will get these notifications in addition to the GitHub emails,
>       making it impractical.
>     - GitHub notifications are reply-able: such replies are properly
>       recorded as comments on the bug.  However, attachments are
>       currently *discarded* from these replies.
>   * Notifications sent out by the changes-listening script will send
>     their reply to a special email address, which I will have to
>     monitor and copy manually to the bug site.
>   * As of yet, there is still *no* support for attachments.  Screenshots
>     etc will need to happen off-line.  Gnats had bad support for
>     attachments which was practically never used, but we have used
>     emails for such cases.  This is therefore a lost feature.  (Note
>     that there is no rejection of attachments on the GitHub side, it
>     might be added, eventually.)

Take care,

Posted on the dev mailing list.