One topic that’s been getting explored off and on for the last half-decade is distributed issue tracking. The idea is that, with distributed version control systems like Git and Mercurial, maybe it’d be a good idea to also store your issue records (bugs and feature requests) in a decentralized fashion.
The two main upsides to this idea are:
- You can work with the bug database while disconnected, just like git/hg/bzr/etc. allow you to do with your other project resources.
- The status of a bug (open, fixed, wontfix, etc.) can be automatically kept on a per-branch basis, so you never need to worry about keeping track of which version of the code has which status for each bug.
However, there is a fairly large downside: It’s much more difficult to handle things that should be global, like discussion and keeping track of whether a given person has claimed a bug.
Personally, given that many similar arguments were made for staying with centralized version control software like Subversion, I think the idea has more potential than it might seem, but like any decentralized system, it’ll take a lot of time, effort, and PR work before it will be ready for prime-time.
Here are a few links if you’d like to start learning more:
- Distributed bug tracking (LWN, May 2008) (A general overview of the topic)
- Distributed Bug Tracking – Again (Erlangish, June 2007) (Thoughts on how to solve some of the potential problems I didn’t mention)
- Distributed Issue Tracking with Git (David Bremner, October 2010) (List of git-compatible implementations of the concept)
- Ditz (One such implementation that actually has screenshots on the homepage)
Update 2014-04-29: You’ll probably also want to check out this StackOverflow Question.
Update 2014-04-30: …and this Current State of Distributed Issue Tracking blog post.