| = Installation instructions = |
| |
| Two scripts are included. The Python one (ciabot.py) is faster and |
| more capable; the shell one (ciabot.sh) is a fallback in case Python |
| gives your git hosting site indigestion. (I know of no such sites.) |
| |
| 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: |
| |
| ciabot.project = name of the project |
| ciabot.repo = name of the project repo for gitweb/cgit purposes |
| ciabot.xmlrpc = if true, ship notifications via XML-RPC |
| ciabot.revformat = format in which the revision is shown |
| |
| The revformat variable may have the following values |
| raw -> full hex ID of commit |
| short -> first 12 chars of hex ID |
| describe -> describe relative to last tag, falling back to short |
| |
| ciabot.project defaults to the directory name of the repository toplevel. |
| ciabot.repo defaults to ciabot.project lowercased. |
| ciabot.xmlrpc defaults to True |
| ciabot.revformat defaults to 'describe'. |
| |
| This means that in the normal case you need not do any configuration at all, |
| however setting ciabot.project will allow the hook to run slightly faster. |
| |
| Once you've set these variables, try your script with -n to see the |
| notification message dumped to stdout and verify that it looks sane. |
| |
| To live-test these scripts, your project needs to have been registered with |
| the CIA site. Here are the steps: |
| |
| 1. Open an IRC window on irc://freenode/commits or your registered |
| project IRC channel. |
| |
| 2. Run ciabot.py and/or ciabot.sh from any directory under git |
| control. |
| |
| You should see a notification on the channel for your most recent commit. |
| |
| After verifying correct function, install one of these scripts either |
| in a post-commit hook or in an update hook. |
| |
| In post-commit, run it without arguments. It will query for |
| current HEAD and the latest commit ID to get the information it |
| needs. |
| |
| In update, call it with a refname followed by a list of commits: |
| You want to reverse the order git rev-list emits because it lists |
| from most recent to oldest. |
| |
| /path/to/ciabot.py ${refname} $(git rev-list ${oldhead}..${newhead} | tac) |