Subversion post-commit hook to Eggdrop
Recently I have been collaborating on a few small projects with a friend. To make this easier I decided to set up subversion.
This friend and I communicate via IRC so I figured a nice message on there describing what commits would be useful. I had read about other people doing the same hook to IRC.
However, when I looked for a script for my bot, I was unable to find one for eggdrop. There were a few scripts which run as standalone for this purpose, but I figured since I am already running a bot on IRC, why run two?
I guess Eggdrop has become less popular in recent years. Or I just didn't search hard enough!
Anyway perhaps these scripts, though simple, will be of use to someone else.
You need two scripts to make this work:
svn.tcl, which is to be loaded as a regular eggdrop scriptsvn_sock_spew.tcl, which is to be placed in a location executable by your svn daemon.
I haven't actually tried using the web modules for svn, though I imagine it
is possible to execute post-commit hooks the same as with svnserve (which
I use). Calling the hook may be different though as this script requires
using svnlook.
The headers in each of the scripts go into greater detail regarding setup,
but essentially all that needs to be done is to create or edit the
[repo_directory]/hooks/post-commit file and add a call like so:
/path/to/svn_sock_spew.tcl "#channel_to_output" "$REPOS" "$REV"
You will then get messages into #channel_to_output after every commit to
the repository like this:
[repo_name] rREV name (x files changed: file1 file2): description
Oh, it is also likely you will need to alter the path to your tclsh in the
header of svn_sock_spew.tcl.
Here's the link to the scripts: github
Tags: eggdrop, irc, subversion, svn