This will likely be a semi-regular feature of this blog, as I am both new to Git and work with it on a daily basis. Currently I have been temporarily given a task to manage a branch that my humble personal offshoot had been downstream from. This more significant branch is actually allowed to push to master, and so I constantly need to be making sure that my branch is updated with the latest copy of master. While my repository is on Gitorious, the activity monitoring page unfortunately doesn’t seem to update dynamically- I’ve had a case of the command-r’s with it. After a quick search, I’ve discovered Gitifier, a handy monitoring program that announces new commits to your repos via Growl.
The app is simple and does an excellent job of alerting me when my version of master may be no longer current. Gitifier is also rather minimalist in options, which is fine. The downside is that it does not yet distinguish between different branches- unfortunately, this means that I’ve seen quite a few commits that were from personal branches. However, given that I’m working in a rather small team (less than a dozen people), it is currently not a big deal for me. The creator of Gitifier has also promised future support for branches.
Another possible downside is that whenever there are merges to master from a dev branch that has been extensively worked upon, the screenshot above may very well bloom into an entire screen’s worth of Growl notifications. Protip: Do not enable the option to keep the notifications on screen while disabling option for Gitifier to ignore merge commits. You’ll end up clicking to close balloons so many times you’d swear that Diablo 3 came out. Though that would be the geekiest of pranks, wouldn’t it? Kindly offer a friend the advice of installing this app, neglect to inform him about the two options, and then merge several different branches. Cheap tricks!
The actual mechanism behind this is quite ingenious. Gitifier clones your repos to a cache directory and repeatedly performs fetch on that directory after a set amount of minutes. If commits have been added, it dutifully notifies you. I have yet to peek into the cache directory, and have to wonder if any compression or the like is being done in the process. If not, then you may end up with duplicate repos taking up potentially precious space.
Despite the downsides, Gitifier fulfills a solid, straightforward job of alerting you of remote updates. So if you’re working with Git and have Growl installed on your Mac, give it a shot.