aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2014-11-19 11:29:40 -0800
committerPaul Eggert2014-11-19 11:37:56 -0800
commitcd2e816cd3ebf562c680ed15b53cf2a88a01f14f (patch)
tree40bb4e3db8a0cc25ca29a80a984bcb6b37d49699
parentff953bc93bb41ef573cd6962424ece340ad5a394 (diff)
downloademacs-cd2e816cd3ebf562c680ed15b53cf2a88a01f14f.tar.gz
emacs-cd2e816cd3ebf562c680ed15b53cf2a88a01f14f.zip
Lessen focus on ChangeLog files, as opposed to change log entries.
This is in preparation for generating the former automatically from the latter. * admin/notes/bugtracker, admin/notes/copyright, admin/notes/newfile: ChangeLog -> change log * admin/notes/changelogs: Remove, merging old contents to ... * admin/notes/repo: ... here. * doc/emacs/maintaining.texi (Change Log): Mention that ChangeLog files may be copied to or from a version control system. * doc/emacs/trouble.texi (Sending Patches): Point to the commit messages. * doc/lispref/intro.texi (Acknowledgments): ChangeLog file -> change log entries. * doc/lispref/tips.texi (Library Headers): Emacs uses a version control system. * etc/CONTRIBUTE: Give advice about git commit messages and how to generate proposed patches containing them.
-rw-r--r--admin/ChangeLog10
-rw-r--r--admin/notes/bugtracker6
-rw-r--r--admin/notes/changelogs23
-rw-r--r--admin/notes/copyright6
-rw-r--r--admin/notes/newfile2
-rw-r--r--admin/notes/repo33
-rw-r--r--doc/emacs/ChangeLog7
-rw-r--r--doc/emacs/maintaining.texi8
-rw-r--r--doc/emacs/trouble.texi6
-rw-r--r--doc/lispref/ChangeLog6
-rw-r--r--doc/lispref/intro.texi2
-rw-r--r--doc/lispref/tips.texi6
-rw-r--r--etc/CONTRIBUTE16
-rw-r--r--etc/ChangeLog6
14 files changed, 88 insertions, 49 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 0ec6d920ad0..82974dc846f 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,13 @@
12014-11-19 Paul Eggert <eggert@cs.ucla.edu>
2
3 Lessen focus on ChangeLog files, as opposed to change log entries.
4 This is in preparation for generating the former automatically
5 from the latter.
6 * notes/bugtracker, notes/copyright, notes/newfile:
7 ChangeLog -> change log
8 * notes/changelogs: Remove, merging old contents to ...
9 * notes/repo: ... here.
10
12014-11-17 Oscar Fuentes <ofv@wanadoo.es> 112014-11-17 Oscar Fuentes <ofv@wanadoo.es>
2 12
3 * admin/CPP-DEFINES: Mention MINGW_W64. 13 * admin/CPP-DEFINES: Mention MINGW_W64.
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker
index 3d9df200f44..fd7bd08091a 100644
--- a/admin/notes/bugtracker
+++ b/admin/notes/bugtracker
@@ -463,10 +463,10 @@ time, rather than by increasing bug number
463 463
464"raw" = ? 464"raw" = ?
465 465
466** ChangeLog issues 466** Change log issues
467 467
468*** When you fix a bug, it can be helpful to put the bug number in the 468*** When you fix a bug, it can be helpful to put the bug number in the
469ChangeLog entry, for example: 469change log entry, for example:
470 470
471 * foo.el (foofunc): Fix the `foo' case. (Bug#123) 471 * foo.el (foofunc): Fix the `foo' case. (Bug#123)
472 472
@@ -475,7 +475,7 @@ obvious fix (e.g. a typo), there's no need to clutter the log with the
475bug number. 475bug number.
476 476
477Similarly, when you close a bug, it can be helpful to include the 477Similarly, when you close a bug, it can be helpful to include the
478relevant ChangeLog entry in the message to the bug tracker, so people 478relevant change log entry in the message to the bug tracker, so people
479can see exactly what the fix was. 479can see exactly what the fix was.
480 480
481*** bug-reference-mode 481*** bug-reference-mode
diff --git a/admin/notes/changelogs b/admin/notes/changelogs
deleted file mode 100644
index 1025cfc217f..00000000000
--- a/admin/notes/changelogs
+++ /dev/null
@@ -1,23 +0,0 @@
1If installing changes written by someone else, make the ChangeLog
2entry in their name, not yours.
3
4
5http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00793.html
6 There is no need to make change log entries for files such as NEWS,
7 MAINTAINERS, and FOR-RELEASE.
8"There is no need" means you don't have to, but you can if you want to.
9
10
11http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg01135.html
12 There is no need to indicate regeneration of files such as configure
13 in ChangeLog.
14
15
16http://lists.gnu.org/archive/html/emacs-devel/2008-11/msg00940.html
17Preferred form for several entries with the same content:
18
19 * help.el (view-lossage):
20 * kmacro.el (kmacro-edit-lossage):
21 * edmacro.el (edit-kbd-macro): Fix docstring, lossage is now 300 keys.
22
23(Rather than anything involving "ditto" and suchlike.)
diff --git a/admin/notes/copyright b/admin/notes/copyright
index 74aa73b0394..c5452c38037 100644
--- a/admin/notes/copyright
+++ b/admin/notes/copyright
@@ -22,7 +22,7 @@ author to make a non-trivial total. If so, make sure they have an
22assignment. If adding a whole file adjust the copyright statements in 22assignment. If adding a whole file adjust the copyright statements in
23the file. 23the file.
24 24
252. When installing code written by someone else, the ChangeLog entry 252. When installing code written by someone else, the commit
26should be in the name of the author of the code, not the person who 26should be in the name of the author of the code, not the person who
27installs it. Also use commit's "--author" option. 27installs it. Also use commit's "--author" option.
28Do not install any of your own changes in the same commit. 28Do not install any of your own changes in the same commit.
@@ -115,8 +115,8 @@ else it is possible the file should not be in Emacs at all (please
115report!). 115report!).
116 116
117Note that it seems painfully clear that one cannot rely on commit logs, 117Note that it seems painfully clear that one cannot rely on commit logs,
118or even ChangeLogs, for older changes. People often installed changes 118or even change log entries, for older changes. People often installed
119from others, without recording the true authorship. 119changes from others, without recording the true authorship.
120 120
121[For reference, most of these points were established via email with 121[For reference, most of these points were established via email with
122rms, 2007/1, "Copyright years". 122rms, 2007/1, "Copyright years".
diff --git a/admin/notes/newfile b/admin/notes/newfile
index 0b66b8054bb..a682fec72d5 100644
--- a/admin/notes/newfile
+++ b/admin/notes/newfile
@@ -15,7 +15,7 @@ output under the headings "The following files are not valid DOS file
15names:" and "The following resolve to the same DOS file names:" should 15names:" and "The following resolve to the same DOS file names:" should
16not include any files that end up in the release tarball. 16not include any files that end up in the release tarball.
17 17
18** Make the ChangeLog entry in the name of the author(s), not your own name. 18** Commit in the name of the author(s), not your own name.
19 19
20** If appropriate, check that the file compiles OK and that Emacs 20** If appropriate, check that the file compiles OK and that Emacs
21builds fine with it. Address any compilation warnings. 21builds fine with it. Address any compilation warnings.
diff --git a/admin/notes/repo b/admin/notes/repo
index ded10324f63..46a9e08c698 100644
--- a/admin/notes/repo
+++ b/admin/notes/repo
@@ -1,9 +1,16 @@
1NOTES ON COMMITTING TO EMACS'S REPOSITORY -*- outline -*- 1NOTES ON COMMITTING TO EMACS'S REPOSITORY -*- outline -*-
2 2
3* Use DVCS commenting conventions 3* Commit metainformation
4 4
5Commits should follow the conventions used in all modern distributed 5** Commit in the author's name
6version-control systems. That is, they should consist of 6
7If installing changes written by someone else, commit them in their
8name, not yours.
9
10** Commit message format
11
12Commit messages should follow the conventions used in all modern
13distributed version-control systems. That is, they should consist of
7 14
8- A self-contained topic line, preferably no more than 75 chars long. 15- A self-contained topic line, preferably no more than 75 chars long.
9 16
@@ -15,6 +22,21 @@ version-control systems. That is, they should consist of
15 files, just copy the entries you made in them to the commit message 22 files, just copy the entries you made in them to the commit message
16 after the blank line.) 23 after the blank line.)
17 24
25- Preferred form for several entries with the same content:
26
27 * help.el (view-lossage):
28 * kmacro.el (kmacro-edit-lossage):
29 * edmacro.el (edit-kbd-macro): Fix docstring, lossage is now 300 keys.
30
31 (Rather than anything involving "ditto" and suchlike.)
32
33** Unnecessary metainformation
34
35There is no need to make separate change log entries for files such as
36NEWS, MAINTAINERS, and FOR-RELEASE, or to indicate regeneration of
37files such as 'configure'. "There is no need" means you don't have
38to, but you can if you want to.
39
18* Commit to the right branch 40* Commit to the right branch
19 41
20Development normally takes places on the trunk. 42Development normally takes places on the trunk.
@@ -112,9 +134,9 @@ http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00262.html
112 134
113[The section on git merge procedure has not yet been written] 135[The section on git merge procedure has not yet been written]
114 136
115Inspect the ChangeLog entries (e.g. in case too many entries have been 137Inspect the change log entries (e.g. in case too many entries have been
116included or whitespace between entries needs fixing). If someone made 138included or whitespace between entries needs fixing). If someone made
117multiple ChangeLog entries on different days in the branch, you may 139multiple change log entries on different days in the branch, you may
118wish to collapse them all to a single entry for that author in the 140wish to collapse them all to a single entry for that author in the
119trunk (because in the trunk they all appear under the same date). 141trunk (because in the trunk they all appear under the same date).
120Obviously, if there are multiple changes to the same file by different 142Obviously, if there are multiple changes to the same file by different
@@ -166,4 +188,3 @@ again.
166 188
167This is a semi-automated way to find the revision that introduced a bug. 189This is a semi-automated way to find the revision that introduced a bug.
168Browse `git help bisect' for technical instructions. 190Browse `git help bisect' for technical instructions.
169
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index a72c2a8915c..e307ff3bd3a 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,10 @@
12014-11-19 Paul Eggert <eggert@cs.ucla.edu>
2
3 Lessen focus on ChangeLog files, as opposed to change log entries.
4 * maintaining.texi (Change Log): Mention that ChangeLog files may
5 be copied to or from a version control system.
6 * trouble.texi (Sending Patches): Point to the commit messages.
7
12014-11-19 Eli Zaretskii <eliz@gnu.org> 82014-11-19 Eli Zaretskii <eliz@gnu.org>
2 9
3 * maintaining.texi (Switching Branches): Mention "C-x v r". 10 * maintaining.texi (Switching Branches): Mention "C-x v r".
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index fef3cdea529..dd1c8269096 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -1474,9 +1474,11 @@ different revision with @kbd{C-u C-x v v}.
1474@cindex change log 1474@cindex change log
1475 Many software projects keep a @dfn{change log}. This is a file, 1475 Many software projects keep a @dfn{change log}. This is a file,
1476normally named @file{ChangeLog}, containing a chronological record of 1476normally named @file{ChangeLog}, containing a chronological record of
1477when and how the program was changed. Sometimes, there are several 1477when and how the program was changed. Sometimes, these files are
1478change log files, each recording the changes in one directory or 1478automatically generated from the change log entries stored in version
1479directory tree. 1479control systems, or are used to generate these change log entries.
1480Sometimes, there are several change log files, each recording the
1481changes in one directory or directory tree.
1480 1482
1481@menu 1483@menu
1482* Change Log Commands:: Commands for editing change log files. 1484* Change Log Commands:: Commands for editing change log files.
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 09260a1e5a9..5f3cf9223eb 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -1137,9 +1137,9 @@ new function, all you need to say about it is that it is new. If you
1137feel that the purpose needs explaining, it probably does---but put the 1137feel that the purpose needs explaining, it probably does---but put the
1138explanation in comments in the code. It will be more useful there. 1138explanation in comments in the code. It will be more useful there.
1139 1139
1140Please read the @file{ChangeLog} files in the @file{src} and 1140Please look at the change log entries of recent commits to see what
1141@file{lisp} directories to see what sorts of information to put in, 1141sorts of information to put in, and to learn the style that we use.
1142and to learn the style that we use. @xref{Change Log}. 1142@xref{Change Log}.
1143 1143
1144@item 1144@item
1145When you write the fix, keep in mind that we can't install a change that 1145When you write the fix, keep in mind that we can't install a change that
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 9123194d7eb..363e7aecd33 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,9 @@
12014-11-19 Paul Eggert <eggert@cs.ucla.edu>
2
3 Lessen focus on ChangeLog files, as opposed to change log entries.
4 * intro.texi (Acknowledgments): ChangeLog file -> change log entries.
5 * tips.texi (Library Headers): Emacs uses a version control system.
6
12014-11-09 Glenn Morris <rgm@gnu.org> 72014-11-09 Glenn Morris <rgm@gnu.org>
2 8
3 * Makefile.in (version): Remove variable. 9 * Makefile.in (version): Remove variable.
diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi
index 0c5346fbb63..1cd79bb2265 100644
--- a/doc/lispref/intro.texi
+++ b/doc/lispref/intro.texi
@@ -552,4 +552,4 @@ Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding,
552Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn. 552Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn.
553 553
554 For a more complete list of contributors, please see the relevant 554 For a more complete list of contributors, please see the relevant
555ChangeLog file in the Emacs sources. 555change log entries in the Emacs source repository.
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi
index d8b906d3bfe..f7f07e8fb74 100644
--- a/doc/lispref/tips.texi
+++ b/doc/lispref/tips.texi
@@ -1062,9 +1062,9 @@ context.
1062@item ;;; Change Log: 1062@item ;;; Change Log:
1063This begins an optional log of changes to the file over time. Don't 1063This begins an optional log of changes to the file over time. Don't
1064put too much information in this section---it is better to keep the 1064put too much information in this section---it is better to keep the
1065detailed logs in a separate @file{ChangeLog} file (as Emacs does), 1065detailed logs in a version control system (as Emacs does) or in a
1066and/or to use a version control system. @samp{History} is an 1066separate @file{ChangeLog} file. @samp{History} is an alternative to
1067alternative to @samp{Change Log}. 1067@samp{Change Log}.
1068 1068
1069@item ;;; Code: 1069@item ;;; Code:
1070This begins the actual code of the program. 1070This begins the actual code of the program.
diff --git a/etc/CONTRIBUTE b/etc/CONTRIBUTE
index d1ee9f4690c..b07b6c66afe 100644
--- a/etc/CONTRIBUTE
+++ b/etc/CONTRIBUTE
@@ -118,13 +118,23 @@ documentation, i.e. Texinfo files.
118Ref: "Change Log Concepts" node of the GNU Coding Standards Info 118Ref: "Change Log Concepts" node of the GNU Coding Standards Info
119Manual, for how to write good log entries. 119Manual, for how to write good log entries.
120 120
121When using git, commit messages should use ChangeLog format, with a
122single short line explaining the change, then an empty line, then
123unindented ChangeLog entries. (Essentially, a commit message should
124be a duplicate of what the patch adds to the ChangeLog files. We are
125planning to automate this better, to avoid the duplication.)
126
121** The patch itself. 127** The patch itself.
122 128
123If you are accessing the Emacs repository, make sure your copy is 129If you are accessing the Emacs repository, make sure your copy is
124up-to-date (e.g. with `git pull'), then use 130up-to-date (e.g. with 'git pull'). You can commit your changes
131to a private branch and generate a patch from the master version
132by using
133 git format-patch master
134Or you can leave your changes uncommitted and use
125 git diff 135 git diff
126Else, use 136With no repository, you can use
127 diff -cp OLD NEW 137 diff -u OLD NEW
128 138
129** Mail format. 139** Mail format.
130 140
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 851af7f2735..9f66788d282 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,9 @@
12014-11-19 Paul Eggert <eggert@cs.ucla.edu>
2
3 Lessen focus on ChangeLog files, as opposed to change log entries.
4 * CONTRIBUTE: Give advice about git commit messages and how
5 to generate proposed patches containing them.
6
12014-11-13 Paul Eggert <eggert@cs.ucla.edu> 72014-11-13 Paul Eggert <eggert@cs.ucla.edu>
2 8
3 Backport fix for minor Bazaar leftovers. 9 Backport fix for minor Bazaar leftovers.