Wednesday, March 16, 2011

The quick and dirty: Git Dashboard is a lightweight git repository manager and Dashboard widget that I wrote to organize local repositories.

I use git for a lot of stuff. I find it useful for document projects (latex mostly) as well as code projects and research projects. The associated repositories are, to some extent, a snapshot of my work life, and therefore the more organized they are and the more diligent I am about keeping them up to date, the more sane my odd little world is. But it's hard to keep track of them all.

I have a bad habit of doing a bunch of work and not committing. Or stopping in the middle of a task --- intending to return to it the next day --- and ending up not coming back to it for days or weeks. I kept thinking, "Man, it would be nice if I had a simple program that showed a list of my repositories and their statuses to keep track of all of this," but no such program seemed to exist.

So I wrote it myself.

I'm calling it "Git Dashboard". It's very much a work in progress, but it's already pretty functional. There's a screen shot of the app itself above and of the Dashboard widget below. The basic idea is that you tell it where your repositories are (and/or you can have it scan directories recursively to discover repositories) and it keeps an up-to-date list telling you whether or not the repository is clean or dirty, when the last commit was, how many dirty or untracked files there are, etc. You can double click a repository to launch a git client, and there's toolbar buttons to reveal the folder in Finder or launch Terminal in that directory.

Note that this is not meant to be a git client, like GitX. Rather, it's a way to organize and keep track of your repositories. I often use it as a launching point, too. If I'm working on code for one project and want to commit, I double click on that repository in Git Dashboard to launch GitX so that I can organize my changes, etc.

If you want to check it out, go to my little working Git Dashboard web page and download the most recent dmg. Note that it presently works only on OS X 10.6 (Snow Leopard), but I might be able to get it to work on 10.5 if there is some demand. Please do tell me if you find it useful, if you find a bug, or have some ideas to make it better!