aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorK. Handa2016-01-03 17:53:43 +0900
committerK. Handa2016-01-03 17:53:43 +0900
commitfb6d826c69939c2d016c1b824d4e9bcb53d9e643 (patch)
treeb9ce862d6cbe25e740203421984df21e4cbadbf4 /admin
parent536f48e9a2251b9e654ea974bd90ff2f40218753 (diff)
parent91917dd58ec5278e555b9c693a830749083e8f89 (diff)
downloademacs-fb6d826c69939c2d016c1b824d4e9bcb53d9e643.tar.gz
emacs-fb6d826c69939c2d016c1b824d4e9bcb53d9e643.zip
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Diffstat (limited to 'admin')
-rw-r--r--admin/notes/triage68
-rw-r--r--admin/release-process69
2 files changed, 114 insertions, 23 deletions
diff --git a/admin/notes/triage b/admin/notes/triage
new file mode 100644
index 00000000000..bc91b6c26f7
--- /dev/null
+++ b/admin/notes/triage
@@ -0,0 +1,68 @@
1HOW TO TRIAGE EMACS BUGS -*- outline -*-
2
3This document just describes the procedure of triaging bugs, for information on
4how to work with the bug tracker, see the bugtracker file in this same directory
5for the basics. You can also install the debbugs ELPA package for access to M-x
6debbugs-gnu, an emacs interface to debbugs, and M-x debbugs-org, an emacs
7interface via org-mode.
8
9* Bug backlog triage procedure
10
11The goal of this triage is to prune down the list of old bugs, closing
12the ones that are not reproducible on the current release.
13
14 1. To start, enter debbugs mode (either debbugs-gnu, debbugs-org, or via the
15 web browser), and accept the default list option of bugs that have severity
16 serious, important, or normal.
17 2. This will also show closed bugs that have yet to be archived. You can
18 filter these out in debbugs-gnu with "x" (debbugs-gnu-toggle-suppress).
19 3. For each bug, do the following:
20 - Read the mail thread for the bug. Find out if anyone has been able to
21 reproduce this on the current release.
22 - If someone has been able to, then your work is finished for this bug.
23 - Make sure there's enough information to reproduce the bug. It should be
24 very clear how to reproduce. If not, please ask for specific steps to
25 reproduce. If you don't get them, and you can't reproduce without them,
26 you can close as "doneunreproducible".
27 - If no one has mentioned being able to reproduce on the current release,
28 read the bug description and attempt to reproduce on an emacs started
29 with "emacs -Q" (the goal is to not let our personal configs interfere
30 with bug testing).
31 - If you can reproduce, then reply on the thread (either on the original
32 message, or anywhere you find appropriate) that you can reproduce this on
33 the current release. If your reproduction gives additional info (such as
34 a backtrace), then add that as well, since it will help whoever attempts
35 to fix it.
36 - If you can't reproduce, state that you can't reproduce it on the current
37 release, ask if they can try again against the current release. Tag the
38 bug as "unreproducable". Wait a few weeks for their reply - if they can
39 reproduce it, then that's great, otherwise close as "doneunreproducible".
40 - If the bug ends up still open, make sure the priority and other tags
41 seems reasonable.
42 4. Your changes will take some time to take effect. After a period of minutes
43 to hours, you will get a mail telling you the control message has been
44 processed. At this point, if there were no errors detected, you and
45 everyone else can see your changes. If there are errors, read the error
46 text - if you need help, consulting the bugtracker documentation in this
47 same directory.
48
49* New bug triage process
50
51The goal of the new bug triage process is similar to the backlog triage process,
52except that the focus is on prioritizing the bug, and making sure it is has
53necessary information for others to act on.
54
55For each new bug, ask the following questions:
56
57 1. Is the bug report written in a way to be easy to reproduce (starts from
58 emacs -Q, etc.)? If not, ask the reporter to try and reproduce it on an
59 emacs without customization.
60 2. Is the bug report written against the lastest emacs? If not, try to
61 reproduce on the latest version, and if it can't be reproduced, ask the
62 reporter to try again with the latest version.
63 3. Is the bug the same as another bug? If so, merge the bugs.
64 4. What is the priority of the bug? Add a priority: critical, grave, serious,
65 important, normal, minor, or wishlist.
66 5. Who should be the owner? This depends on what component the bug is part
67 of. You can look at the admin/MAINTAINERS file (then you can just search
68 emacs-devel to match the name with an email address).
diff --git a/admin/release-process b/admin/release-process
index 1cfcf544587..a6f9c2a19e0 100644
--- a/admin/release-process
+++ b/admin/release-process
@@ -10,18 +10,30 @@ The first phase of the release schedule is the "heads-down" working
10period for new features, on the `master' branch and several feature 10period for new features, on the `master' branch and several feature
11branches. 11branches.
12 12
13** Phase two: bugfixes 13** Phase two: fixing and stabilizing the release branch
14 14
15Shortly before this phase, Emacs developers will be devoted to 15Shortly before this phase, Emacs developers will be devoted to
16figuring out what features to include in the next release and what 16figuring out what features to include in the next release and what
17features to defer to a later release. 17features to defer to a later release.
18 18
19This phase is mostly spent fixing bugs and documenting new features
20and changes on the "emacs-NN" branch. Actually, the default branch
21for pushing any work in this phase should be "emacs-NN", except for
22new features.
23
19At the beginning of this phase, a release branch called "emacs-NN" 24At the beginning of this phase, a release branch called "emacs-NN"
20("NN" represents the major version number of the new Emacs release) 25("NN" represents the major version number of the new Emacs release)
21will be cut from `master'. 26will be cut from `master'. When that happens, the version number on
22 27`master' should be incremented; use admin/admin.el's `set-version'
23This phase is spent fixing bugs and eliminating undocumented new 28command to do that, then commit the changes it made and push to
24features on the "emacs-NN" branch. 29`master'. For major releases, also update the value of
30`customize-changed-options-previous-release'.
31
32The 2 main manuals, the User Manual and the Emacs Lisp Manual, need to
33be proofread, preferably by at least 2 different persons, and any
34uncovered problems fixed. This is a lot of work, so it is advisable
35to divide the job between several people (see the checklist near the
36end of this file).
25 37
26In parallel to this phase, `master' can receive new features, to be 38In parallel to this phase, `master' can receive new features, to be
27released in the next release cycle. From time to time, the master 39released in the next release cycle. From time to time, the master
@@ -48,8 +60,16 @@ files. See `admin/notes/years' for information about maintaining
48copyright years for GNU Emacs. 60copyright years for GNU Emacs.
49 61
50** Make sure the necessary sources and scripts for any generated files 62** Make sure the necessary sources and scripts for any generated files
51are included in the source tarfile. (They don't need to be installed, 63are included in the source tarball. (They don't need to be installed,
52so eg admin/ is fine.) 64so e.g. admin/ is fine.)
65
66** Regenerate AUTHORS by using admin/authors.el
67(The instructions are at the beginning of that file.)
68
69** Remove temporary +++/--- lines in NEWS.
70But first make sure there are no unmarked entries, and update the
71documentation (or decide no updates are necessary) for those that
72aren't.
53 73
54** Manuals 74** Manuals
55Check for node names using problematic characters: 75Check for node names using problematic characters:
@@ -60,7 +80,15 @@ Check for major new features added since the last release (e.g. new
60lisp files), and add the relevant authors to the Acknowledgments in 80lisp files), and add the relevant authors to the Acknowledgments in
61doc/emacs/ack.texi and emacs.texi. 81doc/emacs/ack.texi and emacs.texi.
62 82
63Check cross-references between the manuals (eg from emacs to elisp) 83For major releases, rewrite the "Antinews" appendix of the User Manual
84(doc/emacs/anti.texi) to describe features lost by downgrading to the
85previous version. The way to do that is read NEWS, pick up the more
86significant changes and new features in the upcoming release, then
87describe the "benefits" from losing those features. Be funny, use
88humor. The text written for the previous major release can serve as
89good example.
90
91Check cross-references between the manuals (e.g. from emacs to elisp)
64are correct. You can use something like the following in the info 92are correct. You can use something like the following in the info
65directory in the Emacs build tree: 93directory in the Emacs build tree:
66 94
@@ -78,32 +106,31 @@ Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/ht
78Another tool you can use to check links is gnu.org's linc.py: 106Another tool you can use to check links is gnu.org's linc.py:
79http://www.gnu.org/server/source/ 107http://www.gnu.org/server/source/
80 108
81You run this something like: 109You run this with something like:
82 110
83cd /path/to/cvs/emacs-www 111cd /path/to/cvs/emacs-www
84linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ . 112linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ .
85 113
86Be warned that it is really, really slow (as in, can take ~ a full day 114Be warned that it is really, really slow (as in, can take ~ a full day
87to check the manual/ directory). It is probably best to run it on a 115to check the manual/ directory). It is probably best to run it on a
88single directory at a time from eg manual/html_node. It is very 116single directory at a time from e.g. manual/html_node. It is very
89inefficient, but may reveal a few things that info-xref does not. 117inefficient, but may reveal a few things that info-xref does not.
90 118
91
92make emacs.dvi, elisp.dvi, and deal with any errors (undefined 119make emacs.dvi, elisp.dvi, and deal with any errors (undefined
93references etc) in the output. Break any overfull lines. 120references etc) in the output. Break any overfull lines.
94Underfull hboxes are not serious, but it can be nice to get rid of 121Underfull hboxes are not serious, but it can be nice to get rid of
95them if a simple rephrasing or rearrangement will work. 122them if a simple rephrasing or rearrangement will work.
96 123
97Update the master menu and detailed menu (eg the antinews version). 124Update the master menu and detailed menu (e.g. the antinews version).
98The command texinfo-multiple-files-update can do this, but you 125The command texinfo-multiple-files-update can do this, but you
99probably want to apply the results selectively (eg the current master 126probably want to apply the results selectively (e.g. the current master
100menu has better line-breaks than the automatic version). It includes 127menu has better line-breaks than the automatic version). It includes
101the menu-entry name (if there is one) as well as the node name - using 128the menu-entry name (if there is one) as well as the node name - using
102only the latter looks better. Also, it doesn't seem to handle nested 129only the latter looks better. Also, it doesn't seem to handle nested
103includes, so will miss edebug.texi etc. 130includes, so will miss edebug.texi etc.
104 131
105Check for widow and orphan lines in the printed manual; make sure all 132Check for widow and orphan lines in the printed manual; make sure all
106the pages really look ok in the manual as formatted. Orphans/widows 133the pages really look OK in the manual as formatted. Orphans/widows
107are cases where the first/last line of a paragraph is on its own at 134are cases where the first/last line of a paragraph is on its own at
108the end/start of a page, or where the last word in a paragraph is on 135the end/start of a page, or where the last word in a paragraph is on
109its own at the start of a line. It looks better if you reword/respace 136its own at the start of a line. It looks better if you reword/respace
@@ -117,9 +144,13 @@ pages of the manuals, and even if they do, the resulting page breaks
117depend on what paper and font size they use. This also means that if 144depend on what paper and font size they use. This also means that if
118you _are_ going to do this, it should be done with the paper and font 145you _are_ going to do this, it should be done with the paper and font
119size that the GNU Press are going to use when they print the manuals. 146size that the GNU Press are going to use when they print the manuals.
120I think this is different to what you get if you just use eg 'make 147I think this is different to what you get if you just use e.g. 'make
121emacs.pdf' (e.g., enable "smallbook"). 148emacs.pdf' (e.g., enable "smallbook").
122 149
150** Try to reorder NEWS: most important things first, related items together.
151
152** For a major release, add a "New in Emacs XX" section to faq.texi.
153
123** Check the keybindings in the refcards are correct, and add any new ones. 154** Check the keybindings in the refcards are correct, and add any new ones.
124What paper size are the English versions supposed to be on? 155What paper size are the English versions supposed to be on?
125On Debian testing, the packages texlive-lang-czechslovak and 156On Debian testing, the packages texlive-lang-czechslovak and
@@ -141,14 +172,6 @@ pt-br Rodrigo Real
141ru Alex Ott 172ru Alex Ott
142sk Miroslav Vaško 173sk Miroslav Vaško
143 174
144** For a major release, add a "New in Emacs XX" section to faq.texi.
145
146** Remove temporary +++/--- lines in NEWS.
147
148** Try to reorder NEWS: most important things first, related items together.
149
150** Consider bumping customize-changed-options-previous-release.
151
152** cusver-check from admin.el can help find new defcustoms missing 175** cusver-check from admin.el can help find new defcustoms missing
153:version tags. 176:version tags.
154 177