<?php // Quick. Dirty. Works. $raw = file_get_contents('changelog'); // svn log -r new:old > changelog $changes = explode('------------------------------------------------------------------------', $raw); $changes = array_reverse($changes); $changes = preg_replace('/.+r([0-9]{4}).+\n(.+)\n/s', '[http://trac.wordpress.org/changeset/$1 $1]: $2', $changes); foreach ($changes as $change) if ( trim($change) ) { $change = preg_replace('/[#]([0-9]{4})/', '[http://trac.wordpress.org/ticket/$1 #$1]', trim($change)); echo "*$change\n"; } ?>