This is the development home of the version 3 ciabot hook scripts for git. Stable versions have been distributed in the contrib/ directory of git since 2010, but you may want these for new features or bugfixes that have not yet been merged.

If you've wandered here by accident, CIA is a social-computing service that monitors source-code repositories and ships commit notifications to IRC channels associated with them. This requires each repository using them to install a hook script that ships notifications to the CIA server. These are the hook scripts for the git version control system.

You can have a look at this project's CIA page, if you care, but a lot of the messages will be test commits with silly log comments. The test channel is #git-ciabot on freenode.


It is no longer necessary to modify the script in order to put it in place; in fact, this is now discouraged. It is entirely configurable with the following git config variables:

Read the script header for possible values of revformat.

The shell script, unlike earlier ones, will run correctly in any POSIX-conformant shell and does not require bash. This makes it faster and puts less load on your hosting site.

The Python script, like the remotely ancestral but unlike the shell versions, supports CIA notification via XML-RPC.

Of these two, the Python script is faster, better documented, less likely to break because of security restrictions on your hosting site, and gets functional improvements first. Use it unless your git hosting site disallows Python hooks. I don't know of any such sites.


The source tarball is here. You will find installation instructions in the file INSTALL.


I created these in 2010 after discovering that older hook scripts created in 2006 and 2008 (and unversioned) were in a dusty and somewhat broken state; git had changed but they had not. These have some functional advantages, as well, requiring less configuration and cutting down on external dependencies. is a cleaned-up version of Natanael Copa's 2008 rewrite of Fernando J. Pereda's 2006 version. That was derived from a Perl script by Petr Baudis, part of the now-defunct Cogito porcelain project. Natanael Copa has passed me the maintainer's baton for the shell version. is a ground-up rewrite of in a better language, originally done because one of my hosting sites won't let call out to wget. Then I noticed it was faster and easier to configure. Petr Baudis prodded me to add XML-RPC support.

These scripts were accepted into git contrib/ as of 3 April 2010.