From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: master cbef1e9 2/3: ; make change-history-commit Date: Thu, 09 Apr 2015 13:26:44 -0700 Organization: UCLA Computer Science Department Message-ID: <5526E084.4060403@cs.ucla.edu> References: <20150409172246.20602.44549@vcs.savannah.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1428611236 22082 80.91.229.3 (9 Apr 2015 20:27:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 9 Apr 2015 20:27:16 +0000 (UTC) To: Glenn Morris , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Apr 09 22:27:06 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YgJ2X-0000rf-Ai for ged-emacs-devel@m.gmane.org; Thu, 09 Apr 2015 22:27:05 +0200 Original-Received: from localhost ([::1]:36467 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YgJ2W-0000Sd-Oo for ged-emacs-devel@m.gmane.org; Thu, 09 Apr 2015 16:27:04 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36366) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YgJ2I-0000S0-R6 for emacs-devel@gnu.org; Thu, 09 Apr 2015 16:26:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YgJ2F-0003By-JX for emacs-devel@gnu.org; Thu, 09 Apr 2015 16:26:50 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:34087) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YgJ2F-0003Bk-BD; Thu, 09 Apr 2015 16:26:47 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id A0A7EA60034; Thu, 9 Apr 2015 13:26:46 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AenF0BXdRgwa; Thu, 9 Apr 2015 13:26:45 -0700 (PDT) Original-Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 3B434A6003D; Thu, 9 Apr 2015 13:26:45 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 131.179.128.62 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:185233 Archived-At: On 04/09/2015 11:24 AM, Glenn Morris wrote: > I had assumed that the ChangeLog would not be versioned at all now, > but it seems like it is? No, your assumption is correct. For example, there is no ChangeLog here: http://git.savannah.gnu.org/cgit/emacs.git/tree/ChangeLog > I assumed that only the corrections would be versioned, and the full > file would only appear in tarballs as a generated file. Stefan indicated long ago that this was too drastic, and that we should keep ChangeLog history files in the repository, e.g., lisp/ChangeLog.10 is still in the repository and hasn't changed since January 1's copyright-date edits. ChangeLog.1 is another file like lisp/ChangeLog.10; i.e., it's another versioned ChangeLog history file that you can edit by hand whenever you like. > I further assumed that the new-style generated log would always be > separate from the old-style ChangeLog.1 Yes, that's correct. The ChangeLog file in the tarball (built by 'make ChangeLog') is disjoint from ChangeLog.1, in that ChangeLog.1 contains only "older" entries and Changelog contains only "newer" entries. > (I thought this was why the > latter was renamed to ChangeLog.1), but it seems like you added new > entries to ChangeLog.1? Yes, the idea is that you can move the boundary line between "older" and "newer" by running "make change-history". This automated procedure moves the boundary to be the present, and hence entries that until now would have been put into ChangeLog, are put into ChangeLog.1 and become part of the manually-edited history, which means that ChangeLog will become empty. This is how you can fix old ChangeLog entries: run "make change-history", then edit ChangeLog.1 by hand and commit the result. The advantage of this approach over the old Emacs approach, is that ordinary commits won't alter any ChangeLog files, which will make merge collisions less common. (RMS's recent problem, for example, would have not occurred.) And the advantage of this approach over the approach taken by Coreutils, Grep, etc. (which do not store ChangeLogs in the repository) is that it's easier to edit history by hand. In effect, we have a hybrid approach, which uses Coreutils style for "recent" changelog entries and traditional Emacs style for "older" changelog entries.