Ged wrote:
<changelog>
No XML. XML sucks. And knowing all modules in the tree by name sucks as
well. Module names can be extracted automatically, and the changelog
line copied for each of them, because if the change affects multiple
modules, then it's relevant to all of them
Set a commit message template property for the tree that suggests where
to put the text that should go in the changelog and how to tell apart
from the rest, and leave it at that. The odd commit that doesn't fit the
template can be edited by hand, or ignored altogether for the purposes
of the changelog ("formatting fix", "revert revision", "fix
build" etc.)
My suggestion for the template is:
<changelog line>
<bug numbers, comma-separated>
--
<detailed commit message, insults, Arch bashing>
For smartasses like me who'll want to affect several modules at once but
with a different changelog line for each, provide an override syntax:
[module 1] <changelog line for module 1>
<changelog line for module 1>
<changelog line for module 1>
...
[module 2] <changelog line for module 1>
...
<bug numbers>
--
<detailed commit message>
Want to get even fancier?
[module 1, module 2] <changelog line for module 1 and 2>
[module 3] <changelog line for module 3 and 4>
[module 4] ditto
...
All of which is extremely easy to parse with a script. A message that
doesn't contain some magic string ("--", or maybe something more
distinctive), or that contains some magic string ([formatting],
[revert], etc.) will be ignored