This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Automating the maintenance of the ChangeLog file


I would like to separate the discussion of *how we could automate
maintenance of the ChangeLog file* from the discussion of *whether we
should keep writing ChangeLog entries, by hand or with some level of
machine assistance*.  The value of writing a traditional ChangeLog
entry for each commit is contentious even within this project, and any
change would require arguing with GNU upper management who may be even
more attached to them than some of us are.  Maintaining the ChangeLog
file by hand, however, is 100% make-work that makes landing patches
more difficult than it should be, and we could automate it in short
order with one policy change that we can make ourselves and should be
far less contentious, plus some code.

Specifically, I propose:  Effective immediately, project policy
requires the Git commit message for each commit to end with the full
text of a traditional ChangeLog entry for that commit.  Most everyone
is already doing this most of the time, so the policy change just
upgrades it to a requirement.  As soon as someone has time to code up
the automation, we stop maintaining the ChangeLog file as a checked-in
file in the repo; instead, the release scripts generate a ChangeLog
file from the Git commit history, going back to a tag corresponding to
the last manual update of the old file (which we move to ChangeLog.old
-- it's already over a megabyte, so it's time anyway) and inject it
into the tarball.  I recall someone saying a few months ago that the
necessary script already exists, and if not it should be easy to
write.

(I regret I will not have time to code up the automation myself in the
near future.)

zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]