Under The Microscope

Subversion Log To OPML Converter

Here’s a little script I threw together that will take a Subversion revision log, and turn it into an OPML file.

The script uses stdin and stdout, so typical usage would be as follows:

svn log --xml -v /path/to/working_copy | python svnlog2opml.py > log.opml

Now you ask, why would anyone want something like this? Because, it allows us to read the revision log in OmniOutliner.

So instead of swimming through several hundred or thousand entries like this:

r392 | qdc | 2004-12-28 15:03:35 -0500 (Tue, 28 Dec 2004) | 1 line
Slipstream: Updated Info.plist
r391 | qdc | 2004-12-27 22:36:30 -0500 (Mon, 27 Dec 2004) | 1 line
AHKit: Redid Silence Filler menu with NoiseGen options
r390 | zoo | 2004-12-27 16:54:45 -0500 (Mon, 27 Dec 2004) | 1 line
libah: fixed bug with noise data getting out of allowable bounds

We get this:

Which is also really handy when you are generating a Version History list, like we have to do for every release. Trying to filter, sort, rearrange, and group blocks of text doesn’t work so well, but that’s exactly what outliners are built for.

Comments for this post have been closed. Thanks for reading!

Our Software