= SvnBot = ''A commit notification bot'' SvnBot is intended to be a small, simple, [http://en.wikipedia.org/wiki/IRC_bot IRC bot] that sends out a message when a commit is made to a [http://subversion.tigris.org/ Subversion] repository. Other projects exist that cover similar functionality: * The [http://cia.navi.cx/ 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. * [http://whippingboy.homeunix.org/ whippingboy] is an IRC bot (thought to be a [http://supybot.com/ Supybot] with an RSS plugin) that polls the timeline for projects using [http://trac.edgewall.com/ 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 [http://subversion.tigris.org/ 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: {{{ #!sh REPOS="$1" REV="$2" AUTHOR=`/usr/bin/svnlook author -r $REV $REPOS` $REPOS/hooks/svnbot-notify.py "$REV" "$AUTHOR" }}} == License == Svnbot is free software; you can redistribute it and/or modify it under the terms of version 2 of the [http://www.fsf.org/licensing/licenses/gpl.html GNU General Public License] as published by the [http://www.fsf.org/ Free Software Foundation]. 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 [http://www.fsf.org/licensing/licenses/gpl.html GNU General Public License] for more details.