Version 13

git irc bot post-commit script

Tutorial for a "DYI CIA.vc" to post git commits or pushes to an IRC channel

Created by: spiderr, Last modification: 12 May 2011 (15:48 UTC) by spiderr
If you are looking to have your git repos commit to an IRC server (private or public), you have come to the right place. After doing much digging around for the git equivalent of the svn irc bot, a kind stranger on irc.freenode.net/#git told me about the ii irc client.

What is so great about this solution is there is NO dependency hell like java groovy IRC framework. Just a very small single binary application. Just install the little app, and config some files. No script needed.

  1. Download, compile, and install the ii irc bot
  2. Have ii start up on boot and join your desired channel. When ii starts up, it will create directories and pipe files in the current working directory. For example, if you run ii as the git user in /home/git, you can add this to your /etc/rc.local:
    
    su -c "ii -s irc.example.com" - git
    echo "/j #foobar" > /home/git/irc/irc.example.com/in
  3. Edit your post-receive or post-commit in repo.git/hooks (or repo/.git/hooks) depending on how you want to setup your notifications. Be sure to chmod with proper exec perms (e.g. 770 or ug+x). Example post-receive:
    
    #!/bin/sh
    echo "#### git `hostname` push received ####" > /home/git/irc/#foobar/in
    git log -1 --name-status > /home/git/irc/irc.example.com/#foobar/in

PS, if you are looking to run your own IRC server, ircd-ratbox works great has handy RPM install.
Page History
Date/CommentUserIPVersion
12 May 2011 (15:53 UTC)
spiderr24.106.202.12317
Current • Source
spiderr24.106.202.12315
View • Compare • Difference • Source
spiderr24.106.202.12313
View • Compare • Difference • Source
spiderr24.106.202.12312
View • Compare • Difference • Source
spiderr24.106.202.1238
View • Compare • Difference • Source
spiderr24.106.202.1237
View • Compare • Difference • Source
spiderr24.106.202.1235
View • Compare • Difference • Source
spiderr24.106.202.1233
View • Compare • Difference • Source
spiderr24.106.202.1232
View • Compare • Difference • Source