unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
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.


  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).