From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.comp.lib.glibc.alpha Subject: Re: Update copyright dates not handled by scripts/update-copyrights [committed] Date: Mon, 2 Jan 2017 07:50:55 -0800 Message-ID: References: <0d577e78-86dc-5c4d-7afc-f4ff6e3a5eb9@redhat.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1483372268 29569 195.159.176.226 (2 Jan 2017 15:51:08 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 2 Jan 2017 15:51:08 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 Cc: libc-alpha@sourceware.org To: Joseph Myers , Florian Weimer Original-X-From: libc-alpha-return-76524-glibc-alpha=m.gmane.org@sourceware.org Mon Jan 02 16:51:05 2017 Return-path: Envelope-to: glibc-alpha@blaine.gmane.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:references:cc:from:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=ryAxHG5V9x2qXcK3 eSgwvioHV9JRfOIHDTUYHEJLTrsIGSSmoe3duYW2YxajWHxGKT+mDx2xiPKrHOrE KQINOkhXq547iETEu4H08mYLSov4bCywjFt9K164Voi8UXmI8uo9ZwKmYCq99ueE aliFyEBzMfUKvVRXEZTzNZwAck8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:references:cc:from:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; s=default; bh=BM+sh+SIem5AIE/DrRCuPj SDROY=; b=rtJkFmSt2UoW7GYRv7Y1OJaLnTsIAMTDLr9QhJOqVcX26xDvNwKjW+ 9bup0qOdy1Dnr8ECuholaTsyQRrsQS3ZG8crGMCnULU170yccF6/EXvsAP6q/jDI JVNzcSNdX3AL9SpvjlJJmu/2AFzAc/FihXxmn5f/X2lQZ3sKwSIKA= Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Original-Sender: libc-alpha-owner@sourceware.org Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-HELO: zimbra.cs.ucla.edu In-Reply-To: Xref: news.gmane.org gmane.comp.lib.glibc.alpha:68879 Archived-At: Received: from server1.sourceware.org ([209.132.180.131] helo=sourceware.org) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cO4t2-0006cf-C5 for glibc-alpha@blaine.gmane.org; Mon, 02 Jan 2017 16:51:00 +0100 Received: (qmail 58134 invoked by alias); 2 Jan 2017 15:51:00 -0000 Received: (qmail 58101 invoked by uid 89); 2 Jan 2017 15:50:59 -0000 Joseph, the scheme you propose is close to what is used for GNU Emacs:=20 everything is in a top-level ChangeLog, commit messages are in ChangeLog = format,=20 a script autogenerates the ChangeLog file, and the autogenerated ChangeLo= g file=20 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=20 is because different branches can have different committed ChangeLog file= s,=20 which are mostly autogenerated but contain some hand edits. The autogener= ated=20 parts of these files are not necessarily in the same order even for the p= arts=20 that are in common (because that's how 'git log' works). We have not solv= ed this=20 problem in Emacs, so in practice one branch (the release branch) has a de= cent=20 ChangeLog file, the other branches are a mess, and after a release a mass= ive=20 ChangeLog cleanup is needed to the next branch (a cleanup that never gets= done=20 right). I see several ways out of this problem: 1. Adopt the approach used in GNU coreutils etc., which have on-the-side = lists=20 of edits to ChangeLog entries. You've rejected this, and perhaps rightly = so, as=20 being too much of a pain to maintain. 2. Use a procedure based on "git notes" (or some other Git-based metadata= ) to=20 store edits to commit messages. This would also be a pain to maintain, mo= st=20 likely, though perhaps less than (1). 3. Write a tool for merging mostly-autogenerated but partly hand-edited=20 ChangeLogs. Unfortunately the only way to debug this would be to use it f= or a=20 while and in the meantime ChangeLogs will likely be in a mess. No one has= gotten=20 up the energy to do this for Emacs. 4. Never fix ChangeLog entries. Only auto-generate them. If they're wrong= ,=20 they're wrong: history records mistakes as well as successes. 5. Do not bother to auto-generate ChangeLog files. People interested in h= istory=20 can look at the Git history. 6. Like (5), but also delete existing ChangeLog files. As I understand it= , this=20 is what Mike Frysinger proposes.