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: April 7 cutover for generating ChangeLog automatically Date: Tue, 31 Mar 2015 00:53:48 -0700 Organization: UCLA Computer Science Department Message-ID: <551A528C.7080008@cs.ucla.edu> 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 1427788453 9371 80.91.229.3 (31 Mar 2015 07:54:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 31 Mar 2015 07:54:13 +0000 (UTC) To: Emacs Development Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Mar 31 09:54:02 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 1Ycqzn-00011U-TD for ged-emacs-devel@m.gmane.org; Tue, 31 Mar 2015 09:54:00 +0200 Original-Received: from localhost ([::1]:37398 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ycqzn-00020H-4y for ged-emacs-devel@m.gmane.org; Tue, 31 Mar 2015 03:53:59 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43583) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ycqzj-000202-F7 for Emacs-devel@gnu.org; Tue, 31 Mar 2015 03:53:56 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ycqzf-0003gP-Bv for Emacs-devel@gnu.org; Tue, 31 Mar 2015 03:53:55 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:51013) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ycqzf-0003fx-4T for Emacs-devel@gnu.org; Tue, 31 Mar 2015 03:53:51 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9223939E801B for ; Tue, 31 Mar 2015 00:53:49 -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 5WZV2uvz1zAw for ; Tue, 31 Mar 2015 00:53:48 -0700 (PDT) Original-Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id D20BE39E8016 for ; Tue, 31 Mar 2015 00:53:48 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 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:184591 Archived-At: Currently, each Emacs commit typically contains two copies of its ChangeLog entries: one copy in the commit message and one copy as an edit to one or more ChangeLog files. The latter copy is largely redundant and complicates merging, so as discussed in Bug#19113 on April 7 we plan to revamp the Emacs master commit procedure to eliminate the second copy, so that ordinary commits do not alter ChangeLog files. Instead, the ChangeLog file in the Emacs distribution will be generated automatically from recent Git commit messages. You'll still be able to edit ChangeLog history by running 'make change-history' and then committing changes to a new top-level file (initially 'ChangeLog.1') that contains an editable copy of non-recent Git commit messages. However, commits ordinarily shouldn't change ChangeLog files and this should simplify merging. The suggested format for commit messages will be changed slightly: - File names should be relative to the top level, e.g.: Deactivate shifted region Do not silently extend an unhighlighted region; this can happen after a shift. * doc/emacs/mark.texi (Shift Selection): Document this. * lisp/window.el (handle-select-window): * src/frame.c (Fhandle_switch_frame, Fselected_frame): Deactivate the mark. Fixes: bug#19003 (The actual commit message should not be indented.) - If the commit has authors other than yourself, the commit message should contain a separate line like the following: Co-authored-by: Joe Schmoe - If the commit is a tiny change that is exempt from copyright paperwork, the commit message should contain a separate line like the following: Copyright-paperwork-exempt: yes - If the commit message should not appear in generated ChangeLogs, its first line should start with "; ". With the new approach there are multiple ways to format ChangeLog entries as part of the process of creating a commit message: - If you use Emacs VC, you can create a top-level ChangeLog file, and update it with 'C-x 4 a' file as usual. Do not register the ChangeLog file under Git; instead, use 'C-c C-a' to insert its contents into into your *vc-log* buffer. - Alternatively, you can use the vc-dwim command to maintain commit messages. When you create a source directory, run the shell command 'git-changelog-symlink-init' to create a symbolic link from ChangeLog to .git/c/ChangeLog. Edit this ChangeLog via its symlink with Emacs commands like 'C-x 4 a', and commit the change using the shell command 'vc-dwim --commit'. Type 'vc-dwim --help' for more. The above will all be documented in the files CONTRIBUTE (for ordinary commits) and admin/notes/repo (for commits that edit ChangeLog history files). This change will be installed on the master branch. Other branches can adopt this change whenever convenient. The emacs-24 branch can continue to use the old procedure, and changes to ChangeLog files in emacs-24 can be discarded by hand when merging to master. Although this new style of maintenance is common in other GNU projects, Emacs has its own special needs and most likely there will be glitches after the transition. We will do our best to straighten out these problems as they occur.