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