svn2atom

  • Christian Stocker

In on of our current project, we don't get subversion commit mails (yet), which is a little bit annoying, since I know, how many bugs we spotted just with glancing through those commit mails (and knowing what's going on on the project is always good :) )

I found some svn2rss scripts, but they were not doing what I needed, mainly not including the diff output, so I started to write my own. As a start I took the svnlog2rss XSLT from here, rewrote it to emit atom (it's not totally valid yet…) and include the diffs. Here's the source code. And here's the output for the Flux CMS repository.

As we need to make a request to the server for each revision to get the diff, we cache those diffs locally (they don't change after all), I also added some more caching techniques to keep the load off the server as much as possible.

Now, I can read all those commits in NetNewsWire and even choose, which part of the whole Subversion repository I'm interested in (something the server admin has to configure, if you want that with regular svn commit mails).

The script is written in PHP and could therefore use Alain's svn extension instead of command line calls, but I leave that as an exercise for the reader :)

And if you're using NetNewsWire you don't even have to put that on a server, as NNW is capable of calling local scripts, see the screenshot for how to do that:

Nnw-Script-1

Tell us what you think