Bugs Everywhere

What is Bugs Everywhere?

Bugs Everywhere is a “distributed bugtracker”, designed to complement distributed revision control systems. By using distributed revision control as a backend for bug state, we gain several convenient features:

  • Bugs and code that live on branches are tracked together—when a branch is merged, both the code changes and bug changes that the branch contains are merged alongside each other. We no longer have to be confused about whether a fix that is applied to the development branch but not yet present in the production branch means that our bug is “fixed”.
  • Users can fully modify bug state while offline, unlike with many centralized bugtrackers.
  • When a user checks out your source code, she gets the current bug state for free.
  • We can still provide access to a friendly web interface for users—in this model, a web interface becomes just another client that merges with the main repository.

Download

Bugs Everywhere is written in Python and available via Bazaar.

  % bzr get http://bzr.bugseverywhere.org/be

Current features

  • Command-line (“be”) interface
  • Supported version control backends: Arch, Bazaar, GIT, Mercurial, RCS
  • Web interface using TurboGears (early stages)
  • GUI interface using wxWidgets (early stages)
  • Free software licensed under the GNU GPLv2 or later

Planned features

  • Chris Ball and Michael Stone? want to work on a comprehensive testsuite that covers all VCS backends, not least for further testing of their GIT backend
  • Noah Kantrowitz? is interested in writing a Trac backend, so that Trac’s web interface can be used for BE bugs.
  • Adrian Wilkins? would like
  • To be able to branch BE to a Windows box (and managed to after getting the win32symlinks plugin for Bazaar)
  • To see a Mylyn connector for BE (but appreciates that this is a lot of work)
  • Your name/ideas here!

Submitting bug reports/feature requests

The bug database for Bugs Everywhere is, unsurprisingly, distributed with its source tree. To report a bug, you’re welcome to either e-mail details to the mailing list, or do the following:

 % be new "The demuxulizer is broken"           
 Created bug with ID 48f
 % be comment 48f
 <Describe bug>
 % bzr send --mail-to "be-devel(ATSIGN)bugseverywhere.org" 

bzr will attempt to send a patch using whatever e-mail client you prefer; if this doesn’t work, you can also attach the output of “bzr diff > your.patch” to a message manually.

You may also send merge requests, or ask for write access to the repository.

Mailing list

There is a mailing list for developer discussion (and bug submission) at “be-devel(ATSIGN)bugseverywhere.org”. To sign up, see its listinfo page.

History

Bugs Everywhere was conceived and written by developers at Panoramic Feedback, primarily Aaron Bentley. Panoramic Feedback is no longer developing BE, and the current maintainer is Chris Ball.