The One and the Many

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:

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