Ditz is a simple, light-weight distributed issue tracker designed to work with distributed version control systems like git, darcs, Mercurial, and Bazaar. It can also be used with centralized systems like SVN.
Ditz features a simple, clean commandline interface, a robust plugin architecture which allows for adding commands and extending model fields and ditz output, a human-editable file format, and an active developer community.
Ditz also provides static HTML generation capabilities for producing world-readable status pages (for a demo, see the ditz ditz page). It currently offers no central public method of bug submission.
$ ditz status 0.4 0/ 1 bugfix, 3/ 6 features, 1/ 1 task xxxx__>> unassigned 0/ 1 bugfix, 1/ 6 features, 0/ 0 tasks x______ $ ditz Version 0.4 (unreleased): > ditz-5: plugin architecture for tighter SCM integration, etc > ditz-45: bash shell completion _ ditz-42: add a --comment option like git commit -m _ ditz-54: HOME environment variable not available on windows Unassigned: _ ditz-1: commands needs full argument parsing _ ditz-32: extended help for commands _ ditz-37: created and deleted events not in logs _ ditz-53: allow commands like 'start', 'stop', 'close', etc to take multiple arguments _ ditz-55: add 'reconfigure' command _ ditz-58: log and shortlog should take an optional component name
$ ditz show ditz-45 Issue ditz-45 ------------- Title: bash shell completion Description: we have zsh (ditz-34). but i use bash! Type: feature Status: in progress Creator: William Morgan (wmorgan-ditz) Age: three months Release: 0.4 References: Identifier: d96a7a95dedc20072df13afa4515ee5d739229ce Git branch: none Event log: - changed status from closed to in_progress (wmorgan-ditz, 70 hours ago) > re-opening because there's going to be more work thanks to ditz-57. - closed issue with disposition fixed (wmorgan-ditz, eight days ago) > contributed by christian garbs - assigned to release 0.4 from unassigned (wmorgan-ditz, eight days ago) - created (wmorgan-ditz, three months ago)
$ ditz add Title: remove "references" Description (ctrl-d, ., or /stop to stop, /edit to edit, /reset to reset): > with the advent of decent issue interpolation, this isn't that useful. > this probably deserves some more thought before becoming reality. > . Is this a (b)ugfix, a (f)eature, or a (t)ask? t Assign to a release now? (y/n): n Issue creator (enter for "William Morgan (wmorgan-ditz)"): Comments (ctrl-d, ., or /stop to stop, /edit to edit, /reset to reset): > . Added issue ditz-59.
Ditz maintains an issue database directory on disk, with files written in a line-based and human-editable format. This directory can be kept under version control, alongside project code.
There are several different ways to use ditz:
For more, read the README and the plugin documentation.
You can download ditz releases from the ditz RubyForge page. Or, if you have RubyGems installed, simply command your computer to "gem install ditz".
ditz Debian packages are kindly contributed by Christian Garbs. There's also a ditz RFP if you are a Debian maintainer with time on your hands.
For source code access, the ditz repository is on Gitorious. You can clone it locally like so:
git clone git://gitorious.org/ditz/mainline.git.
You can also browse
the ditz git repository.
Feel free to post bug reports, feature requests, and any comments or discussion topics to the ditz-talk mailing list (archives).
Of course, you can also submit a bug report by cloning the git repo, using "ditz add" to add an issue, and sending a merge request or submitting the resulting patch.
Ditz commander, a GUI frontend for Ditz.
There's a Ditz emacs mode by Kentaro Kuribayashi.
Ditz is brought to you by William Morgan and by