Subversion Plugin for Supybot

There are a lot of useful plugins delivered with supybot. As the developers are calling it, supybot comes with “batteries included”. There however is always room for improvement and I currently see some areas where additional addons would be useful.

One of these missing plugins is for Subversion. SVN is a widely used version control system. Having a Bot which announces changes and let the user control SVN is one of the key features I would like to see in an office IRC. Every developer team could have its own channel where Supybot is reporting if any sources have been changed.

There are of course other Bots doing exactly this. Solutions like SvnBot or Scott Phillips Bot have however certain limitations:

  • They’re built from scratch. That mustn’t be bad, but building upon Supybots infrastructure let’s a developer focus on the functionality itself than on configuration, IRC-accessibility or testing. Supybot provides a lot of things to support the developer
  • Most of the available solutions need so called Post-Commit-Hooks. This is a feature from SVN which let’s a user do certain actions after commiting code to it. The downside of this is that you always would have to manipulate your Repository in order for the Bot to work
  • Usually the provided Bots are just supporting one Repository-URL being watched. In reality you usually have certain branches being worked on or different teams working on different projects. Of course it would be possible to deploy multiple bots for each url and each channel, but that gets confusing and unmaintainable.
  • Limited output: It is mostly impossible to publish information to more than one channel. Like the above point this would be solvable by setting up more than one Bot, but who wants this?
  • There are a lot more disadvantages like missing license details or untested code, but these are the main points I saw at first.

So having all these disadvantages in mind I decided to jump into supybot plugin development myself. There are a lot of sources helping you do the first steps (and some more advanced steps too):

So after a 6 hour hacking-session I uploaded the project to Google Code. There are some features missing, but that’s just a matter of time. It works quite well in my testing environment and I’m looking forward to using it for my actual work. Take a look at the Wiki-pages there. I’m planning on creating some documentation on how to install and use the plugin.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s