Monday, November 30, 2009

Command line issue tracking

Issue tracking is needed even for smaller projects or personal ones, but frequently the effort of setting up a complex issue tracking system for a small project is too much. A typical bug tracking system might requires a database server and a web server. Administering those is too much of a PITA.

Another severe problem lies with the portability of the bug database. For my hobby or consulting projects I like to keep the bugs close to the source - I might happen to work om my desktop, on a laptop, etc. They should be easy to move around and archive. By comparison, moving or backing up a Bugzilla installation involves unspeakable complexities that my mind simply refuses to do.  (I do realize that it is not technically complex to move a Bugzilla installation, in fact it is a relatively easy as these things go,  but it is not something that one would undertake casually - it takes preparation, time and care).

Yes, one could maintain a running publicly accessible (even only via SSh/OpenVPN) web server, and always use it, but that is a whole lot of work, not to mention the security implications and the real added expense. Plus, one is not always online.

So, until recently my bug tracking for these kinds of projects has been restricted to keeping a couple of text files called BUGS.TXT and TODO.TXT. Not very high-tech, but hey, they do the job.

That is until I found Ditz. It is a command line bug tracking tool, and it keeps all its data, including all configuration files under one neat sub-directory, plus everything is in plain text format! I absolutely love it and highly recommend it.

With Ditz the entire bug database even can be a part of the source tree, which automatically makes it distributed if one uses Git for example. (I am not sure that is such a great idea by the way - polluting the source history with bug reports - but I am still thinking about it). Moving it between computers is just a copy, and so is backup. It literally requires no thinking or effort.

While I am on this subject, todotxt  also deserves a honorable mention, although it is not suitable for issue tracking.

Bottom line, Git and Ditz provide a full featured and yet very simple infrastructure for small projects. Now all I have to do is finally start using a good command line email client.

No comments:

Post a Comment