You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.1 KiB
54 lines
2.1 KiB
= 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)
|
|
|