: Documentation

CIA Clients

This page is organized into sections based on the type of system you want to connect to CIA. If you have written a new CIA client script, send it to Micah to get it added to this list.

Arch

Mike Hearn wrote a client for GNU Arch. You can find it on the arch wiki or stored locally.

Bazaar

Robert Collins contributed a client for Bazaar, using email delivery: cia_baz.sh.

Bazaar-NG (bzr)

Jelmer Vernooij contributed a client for bzr, using XML-RPC delivery. Download it from Jelmer's site or snag the local copy of cia_bzr.py.

BitKeeper

Chris Larson has contributed a client for BitKeeper. You'll need both ciabot_bk.sh and post-outgoing.ciabot.

CVS

Petr Baudis has written the definitive CIA client for the Concurrent Versions System, ciabot_cvs.pl. It is written in Perl, sends its commits over e-mail or XML-RPC, and even supports a simple system for client-side filtering of unwanted messages.

If you're using version 1.12 of CVS, you'll need to use a version of the client script that supports its new loginfo format. ciabot_cvs_1.12.pl was contributed by Jeffrey Carlyle.

There is a HOW-TO document with a walk-through for using the CVS client script with SourceForge.net.

Darcs

Patrick McFarland has contrbuted a client for Darcs, which acts as a wrapper for your real 'darcs' binary. Download it from Patrick's site or grab the local copy of cia_darcs.pl.

Git

The Git Wiki's page on Interfaces, Frontends, and Tools has a section for CIA clients. Petr Baudis wrote the ciabot.pl client script, available in Cogito's "contrib" directory. Fernando J. Pereda wrote a shell-script alternative. You can download a local copy of ciabot.pl or ciabot.bash.

Subversion

The CIA server now has built-in support for Subversion repositories. You don't need a client script when using this built-in support. (However, the client script is more customizable and a little faster.)

Micah Dowty has written two CIA clients for Subversion. The simpler of the two, ciabot_svn.sh, only supports email, and provides no way to include branch or module information. A more complex script written in Python, ciabot_svn.py, uses XML-RPC via Python's standard xmlrpclib module and supports regular expressions for extracting module and branch information from paths.

André Malo's spiffy svnmailer package is a tool that can post commit information to a variety of services, including mail, news, and CIA.

Mercurial (Hg)

Brendan Cully contributed a CIA client for Mercurial, with support for XML-RPC message delivery. You can get it from Brendan's repository or you can download a local copy of hgcia.py. See recent changes to hgcia, tracked by hgcia itself.

Trac

Interested in developing CIA support for Trac? There is an open enhancement request for a notification plugin. This ticket includes a patch with a very simple CIA client.