Tools that use git in ways that were never intended
As part of my homework for the master on libre software I have to study some of the tools that are commonly used in FLOSS. Git is one of my favourite ones and today I found a couple of tools that use git for other purposes than managing source code. These are git-annex, etckeeper, mr and ikiwiki:
git-annex is a very interesting application to manage large files with git but without checking the file contents into git. The creator explain it in two sample cases, the Archivits and the Nomad, both detailed in the web site at git-annex.branchable.com. The basic idea of this tool is you can have a lot of information stored in several drives and you can forget to keep them manually in sync, you can even build a simple backup method requiring more than one copy of a file exists or maybe you just need to move file content between repositories because your laptop is running out of space and you still want to have the data as available as possible.
etckeeper is the kind of application that you miss when you are in trouble, it works with APT or YUM to let /etc be stored in git, mercurial, bzr or darcs repository. How many times have you been looking for an old version of a file related with your X windows or virtual hosts of apache? Great tool for system administrators.
The third tool is mr, a command to perform actions over a set of repositories as if they were one combined repository. This is very useful, with the arrival of git the big projects end up with hundreds of repositories which makes more complex some trivial actions like updating, for instance have a look at the repos used by the Android project at android.git.kernel.org, Google had to create an ad-hoc script to check them out in one go.
Last but not least let me present ikiwiki, a wiki compiler based on git. Besides using git to store pages and its history, it also converts wiki pages into HTML pages suitable for publishing on a website, including support for blogging, as well as a large array of plugins. Currently the site www.branchable.com offers ikiwiki “to create a website, wiki, or blog, easily, within a minute”.
If you know more tools that use git as backend please let me know.