SVN Comments
In order to take advantage of the SVN log history with regards to change logs, release notes and progress summaries, a more structured approach for SVN comments should be implemented.
Comment Format
The basic idea is to add certain tags to SVN comments, so comments could later be extracted and queried by these tag words. Here is a list of current tags and their meanings:
Tags relevant for changelog
- [LOG] – Description that will appear in Changelog
- [NEW] – Addition of new features
- [API] – Any commit that changes the existing, well-established API must include this marker.
- [FIX #1234] – Bug actually fixed with this commit (always include bug number, in this example 1234)
Tags irrelevant for changelog
- [TAG <identifier>] – This change is part of a group of related changes, identified by <identifier>. This could allow for an automated grouping in the generated reports.
- [BUG #1234] – Use this while working on a bug (always include bug number, in this example 1234)
Auto-generated Changelogs
The Python-based tool svn2log automatically generates changelog files in standard GNU-style format from Subversion repositories.
Example:
svn log -v --xml https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/trunk \ --limit 20 | python svn2log.py -s -O -L -H --delta=86400 \ -p '/(branches/[^/]+|trunk)/' -o changelog.txt; less changelog.txt
The idea is to set up scheduled jobs that will produce regular reports based on the tags.
