From: Paul Eggert <eggert@cs.ucla.edu>
To: Joseph Myers <joseph@codesourcery.com>,
Florian Weimer <fweimer@redhat.com>
Cc: libc-alpha@sourceware.org
Subject: Re: Update copyright dates not handled by scripts/update-copyrights [committed]
Date: Mon, 2 Jan 2017 07:50:55 -0800 [thread overview]
Message-ID: <d3d876ee-9c34-6eb9-68ce-4ce50050326a@cs.ucla.edu> (raw)
In-Reply-To: <alpine.DEB.2.20.1701021333390.28945@digraph.polyomino.org.uk>
Joseph, the scheme you propose is close to what is used for GNU Emacs:
everything is in a top-level ChangeLog, commit messages are in ChangeLog format,
a script autogenerates the ChangeLog file, and the autogenerated ChangeLog file
is committed just before release (and just before corrections are made).
Unfortunately there's a problem with this approach: it's a pain to merge. This
is because different branches can have different committed ChangeLog files,
which are mostly autogenerated but contain some hand edits. The autogenerated
parts of these files are not necessarily in the same order even for the parts
that are in common (because that's how 'git log' works). We have not solved this
problem in Emacs, so in practice one branch (the release branch) has a decent
ChangeLog file, the other branches are a mess, and after a release a massive
ChangeLog cleanup is needed to the next branch (a cleanup that never gets done
right).
I see several ways out of this problem:
1. Adopt the approach used in GNU coreutils etc., which have on-the-side lists
of edits to ChangeLog entries. You've rejected this, and perhaps rightly so, as
being too much of a pain to maintain.
2. Use a procedure based on "git notes" (or some other Git-based metadata) to
store edits to commit messages. This would also be a pain to maintain, most
likely, though perhaps less than (1).
3. Write a tool for merging mostly-autogenerated but partly hand-edited
ChangeLogs. Unfortunately the only way to debug this would be to use it for a
while and in the meantime ChangeLogs will likely be in a mess. No one has gotten
up the energy to do this for Emacs.
4. Never fix ChangeLog entries. Only auto-generate them. If they're wrong,
they're wrong: history records mistakes as well as successes.
5. Do not bother to auto-generate ChangeLog files. People interested in history
can look at the Git history.
6. Like (5), but also delete existing ChangeLog files. As I understand it, this
is what Mike Frysinger proposes.
next prev parent reply other threads:[~2017-01-02 15:51 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-01 0:27 Update copyright dates not handled by scripts/update-copyrights [committed] Joseph Myers
2017-01-01 7:22 ` Florian Weimer
2017-01-01 9:57 ` Mike Frysinger
2017-01-02 15:08 ` Torvald Riegel
2017-01-02 15:23 ` Joseph Myers
2017-01-02 15:42 ` Torvald Riegel
2017-01-02 17:19 ` Joseph Myers
2017-01-02 17:27 ` Joseph Myers
2017-01-02 18:03 ` Torvald Riegel
2017-01-02 17:55 ` Torvald Riegel
2017-01-02 18:01 ` Joseph Myers
2017-01-02 18:03 ` Torvald Riegel
2017-01-02 13:45 ` Joseph Myers
2017-01-02 13:55 ` Florian Weimer
2017-01-02 14:00 ` Joseph Myers
2017-01-02 15:50 ` Paul Eggert [this message]
2017-01-02 17:22 ` Joseph Myers
-- strict thread matches above, loose matches on Subject: below --
2020-01-01 0:22 Joseph Myers
2019-01-01 0:16 Joseph Myers
2018-01-01 0:41 Joseph Myers
2016-01-04 16:27 Joseph Myers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/libc/involved.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d3d876ee-9c34-6eb9-68ce-4ce50050326a@cs.ucla.edu \
--to=eggert@cs.ucla.edu \
--cc=fweimer@redhat.com \
--cc=joseph@codesourcery.com \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).