svn2cl - create a ChangeLog from a subversion log Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Arthur de Jong Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. INTRODUCTION ============ svn2cl is a simple xsl transformation and shell script wrapper for generating a classic GNU-style ChangeLog from a subversion repository log. It is made from several changelog-like scripts using common xslt constructs found in different places. I made it because it was the only thing that I missed from cvs after I converted a repository to subversion. I used cvs2cl before. INSTALLING SVN2CL ================= Just unpack the tarball in some directory (e.g. /opt/svn2cl-0.12) and symlink the svn2cl.sh script in your path somewhere (e.g. ln -s /opt/svn2cl-0.12/svn2cl.sh /usr/local/bin/svn2cl). Note: Be sure to keep the svn2cl.xsl file in the same directory as the svn2cl.sh script as the script looks for it there (symlinking is ok). USING SVN2CL IN AN ANT TARGET ============================= It is possible to use svn2cl in an ant target with a snippet like: Although it seems that currently the xslt processor that is used by ant inserts newlines in places it shouldn't. This can be worked around by replacing &newl; throughout the xsl files by . WINDOWS PORT ============ A VBScript port of the wrapper shell script has been made by Iwasa Kazmi, which allows running svn2cl on Microsoft Windows without a POSIX compatibility layer and xsltproc. More information is available here: http://www.cosmo-system.jp/iwasa/svn2clwin.html NOTES ===== The log is performed on the current directory '.' unless you specify URL and/or PATH parameters. Before generating the ChangeLog you may want to make your working copy up to date with 'svn update' (non-recursive update will do) or pass --revision HEAD:1 as a parameter to svn2cl.sh. There will not be very frequent new releases but if there are they can be found at: http://arthurdejong.org/svn2cl/ FEEDBACK AND BUG REPORTS ======================== If you have any questions about svn2cl or would like to report a bug please send an email to Arthur de Jong .