Tired of setting up a bug tracker for those small, pet projects of yours?
Don't want the overhead of a web browser when you're the only developer?
Give Tracker a try. It stores your bugs in a local SQLite3 file - you can keep your bugs database alongside your source code. You can access everything straight from the command line. And it's easy to install, just `sudo gem install -y Tracker`!
The first thing you want to do is install Tracker:
sudo gem install -y Tracker
After that, change directory to the root of your project. From here, you can bootstrap your database (this creates a .tracker_db file which contains your SQLite3 database):
trac bootstrap
Like a Rakefile, Tracker will look for a .tracker_db file in the current directory or any parent directories. So you're free to use trac commands anywhere inside your project.
Tickets in Tracker are simple - all you need is a message:
trac create -m "Bug in IE6, transparency issue"
trac create -m "Bug in IE7, should we just tell the client to download Firefox?"
Now you can list tickets, which shows summaries of each ticket's messages (up to 65 characters).
trac list
> #1: Bug in IE6, transparency issue
> #2: Bug in IE7, should we just tell the client to download Firefox?...
When you start working on a ticket, you might want to add comments on what progress has been made. You can do this with the add command and giving it the ID of a ticket:
trac add 2 -m "I notified the client that the staging site has issues in IE7. They downloaded Firefox to use temporarily."
To see a full description of a ticket (including its comments and keywords) use the show command:
trac show 2
> Ticket: #2
> Messages: - 23 May 23:13
> * - Bug in IE7, should we just tell the client to download Firefox?
> 1 - I notified the client that the staging site has issues in IE7. They downloaded Firefox to use temporarily.
If you ever want to remove a comment, you can use the remove command and pass it a ticket ID along the comment's position.
trac remove 2 --position 1
You can open or close tickets using the open or close commands.
trac close 2
By default, listing tickets will only show open tickets. To list all closed tickets, use the --closed option:
trac list --closed
Tickets also have the keywords field, which can be used for tagging or setting milestones. I like to use them for milestones. You can set the keyword of a ticket when creating it using the --keywords flag:
trac create -m "Implement user avatars" --keywords "version 1.0"
If a ticket already exists, you can update it to change the keyword or message.
trac update 1 -m "New message" --keywords "version 0.5"
Now, you can search for particular tickets using the search command. Searching will look through a ticket's main message and keywords:
trac search 1.0
> Ticket: #3
> Keywords: version 1.0
> Messages: - 23 May 23:19
> * - Implement user avatars
If you're ever confused about what to use, use the --help flag.
I can't believe you read this far. Thanks! If you have any suggestions or feedback, feel free to email me at hugh [at] hughbien.com.