From: Paul Eggert <eggert@cs.ucla.edu>
To: Emacs Development <Emacs-devel@gnu.org>
Subject: April 7 cutover for generating ChangeLog automatically
Date: Tue, 31 Mar 2015 00:53:48 -0700 [thread overview]
Message-ID: <551A528C.7080008@cs.ucla.edu> (raw)
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 <j.schmoe@example.org>
- 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.
next reply other threads:[~2015-03-31 7:53 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-31 7:53 Paul Eggert [this message]
2015-03-31 11:58 ` April 7 cutover for generating ChangeLog automatically Eli Zaretskii
2015-03-31 12:57 ` Stefan Monnier
2015-03-31 13:04 ` Eli Zaretskii
2015-03-31 20:49 ` Stefan Monnier
2015-04-01 2:37 ` Eli Zaretskii
2015-03-31 14:07 ` Nicolas Petton
2015-03-31 18:17 ` Paul Eggert
2015-03-31 21:35 ` nicolas.petton
2015-04-01 4:59 ` Paul Eggert
2015-03-31 21:52 ` Nicolas Petton
2015-03-31 14:45 ` Dmitry Gutov
2015-03-31 17:56 ` Paul Eggert
2015-03-31 20:52 ` Stefan Monnier
2015-03-31 21:50 ` Dmitry Gutov
2015-04-01 2:21 ` Stefan Monnier
2015-04-07 11:48 ` Dmitry Gutov
2015-04-01 5:13 ` Paul Eggert
2015-04-07 7:19 ` Emacs master ChangeLog files now generated automatically Paul Eggert
2015-04-07 14:04 ` John Wiegley
2015-04-07 16:48 ` Karl Fogel
2015-04-07 13:24 ` April 7 cutover for generating ChangeLog automatically Dmitry Gutov
2015-04-07 14:05 ` João Távora
2015-04-07 14:27 ` Eli Zaretskii
2015-04-07 16:41 ` Paul Eggert
2015-04-07 17:25 ` Dmitry Gutov
2015-04-07 17:32 ` Eli Zaretskii
2015-04-07 18:16 ` Dmitry Gutov
2015-04-07 18:27 ` Eli Zaretskii
2015-04-07 20:09 ` Paul Eggert
2015-04-08 5:36 ` Eli Zaretskii
2015-04-08 15:07 ` Dmitry Gutov
2015-04-08 15:18 ` Eli Zaretskii
2015-04-08 15:31 ` Dmitry Gutov
2015-04-08 15:37 ` Eli Zaretskii
2015-04-08 16:08 ` Eli Zaretskii
2015-04-08 19:15 ` Stefan Monnier
2015-04-09 0:42 ` Dmitry Gutov
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/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=551A528C.7080008@cs.ucla.edu \
--to=eggert@cs.ucla.edu \
--cc=Emacs-devel@gnu.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.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).