Actually, now that we're a couple of months into it, here's my reaction to the move. I'd used Github a fair bit in read-only mode before, just cloning repos and sending the occasional patch to other projects, but I'm finding that after deeper experience with it, today's Github is better than BitBucket (I'm not sure this was the case originally when I created the repo). Today it clearly is.
Here are some of the things I really like about Github:
- The tag-based, unstructured labeling system for tickets is a much simpler, more flexible way to organize issues than the more fixed system in BitBucket. It's faster to make changes to large numbers of tickets and the UI is well-designed, does not require page reloads most of the time. And with some name conventions and if one's okay to live with the potential missing label of a particular category (e.g. priority) it covers all the use cases. It takes it within reach to handle a very large number of tickets--I had more or less abandoned being able to do this in BitBucket, it would have taken too long, was too slow to work with. I've relabeled a lot of the tickets and will be processing them; I created three types of labels: Px (P0, P1, P2, P3) for priorities, categories/component (as previously) and a few "status-related" / resolution tickets, e.g. wontfix. I use color codes to distinguish them. I'm hoping to be able to get on top of all the tickets eventually.
- Phone integration! I merged my first PR shortly after moving the repo over while still emerging from sleep. Picked up my phone, clicked on a link, did some code review, merged it. That was simply amazing. For really simple PRs that's a really great option.
- PRs and Issues in a single namespace instead of two separate ones totally makes sense. I can easily refer to a PR or Issue with #xxx anywhere and it links. Love it. Github is more flat than BitBucket, and I think it hits the sweet spot in that sense.
- Git itself remains with some occasional annoyances, but I think if you work very regularly with it you learn to avoid the pitfalls and because all the refs are dynamically changeable you can always find a way to fix things (if you've got refs preserving all the code you want to avoid getting garbage collected). I've had to learn a few tricks I didn't know lately and I'll admit that it does come with more flexibility I can leverage than Mercurial, e.g., the ability to merge just some other commits from another PR, for instance, by changing refs. I'm learning to like it, maybe even love it.
- Finally, and the biggest benefit, really is that more people have been sending PRs and eager to get involved. It's nice now, many related repos under a single organization umbrella with ACLs and such, I really like that.
Overall, no regrets, this is a plus.
I've been writing a plan document for a v3 rewrite which I'll share soon (big changes).
The plan includes changes that will make it easier to collaborate and for me to maintain things going forward.