[RFC] Policy change for ChangeLog

Chris Shoemaker c.shoemaker at cox.net
Fri Dec 2 14:14:30 EST 2005


On Fri, Dec 02, 2005 at 09:04:45AM -0500, Derek Atkins wrote:
> Thomas Bushnell BSG <tb at becket.net> writes:
> 
> > If you want to automatically generate the ChangeLog, which continues
> > to carry all the same information, that's great.  I don't care *how*
> > the ChangeLog file gets into the distribution, only that it do so.
> 
> Another option would be to perform a "svn2cl" during "make dist"
> and add the ChangeLog to the EXTRA_DIST target.

I googled for other options used by projects using svn.  I found:

 - some projects do something like 
        `svn log --xml -v | xsltproc svn2cl.xsl - > ChangeLog`, or 
        `svn log -v > ChangeLog`
   in a "make dist" target.
 - some projects just stoped using ChangeLog at cvs->svn migration and
tell the packager to manually run one of the above commands.

An advantage to using the "make dist" target is that there's
no chance of forgetting.  

My preferred implementation of the policy change is currently:

  - Continue the pattern Christian started of pulling old ChangeLog
entries into archive files.  These files would continue to live in svn.
  - The "newest" ChangeLog file would be a generated file, made during
"make dist", and "make ChangeLog".  It would be generated thusly:
    $ svn log -v --xml -r BASE:12076 | xsltproc \
        --stringparam strip-prefix "gnucash" --stringparam include-rev "yes" \
        ./svn2cl.xsl - > ./ChangeLog

  where 12076 is replaced once a period (e.g. annually) with the last
revision of the previous period.

  Therefore, 
   - the ChangeLog(s) are distributed
   - local recent ChangeLog is available to anyone: "make ChangeLog"
   - maintenance of ChangeLogs is only periodic
   - no duplication of entries (except for archived ChangeLogs.200x)
   - no manual (or scripted, thanks Neil) creation of affected file paths. 

-chris


More information about the gnucash-devel mailing list