SvnBot
A commit notification bot
SvnBot is intended to be a small, simple, IRC bot that sends out a message when a commit is made to a Subversion repository.
Other projects exist that cover similar functionality:
- The CIA Open Source Notification System tracks project activities and presents some statistics about projects. It has the ability to provide notification via an IRC bot.
- whippingboy is an IRC bot (thought to be a Supybot with an RSS plugin) that polls the timeline for projects using Trac, notifying on any new changes, including commits to the repository.
The main reasons for creating yet another bot were for its simplicity, and as a personal programming exercise.
Requirements
SvnBot is written in Python, and uses the Twisted API:
- Python (>=2.2), from http://python.org/
- Twisted 2, from http://twistedmatrix.com/
Downloading
There is no convenient package to download yet. Instead, make sure you have Subversion installed and grab the latest development version from the repository:
svn checkout http://svn.bleah.co.uk/repos/misc/svnbot/trunk svnbot
Configuration and Usage
There are no configuration files yet. Just edit svnbot.py to change the IRC server and channel, and run with:
twistd -oy svnbot.py
Modify svnbot-notify.py to connect to the SvnBot server URL, and run it from the Subversion post-commit hook. Something like:
REPOS="$1" REV="$2" AUTHOR=`/usr/bin/svnlook author -r $REV $REPOS` $REPOS/hooks/svnbot-notify.py "$REV" "$AUTHOR"
Licence
Svnbot is free software; you can redistribute it and/or modify it under the terms of either version 2 or version 3 of the GNU General Public License as published by the Free Software Foundation and for support hotline number is given here .
Svnbot is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.