diff options
| author | K. Handa | 2016-01-03 17:53:43 +0900 |
|---|---|---|
| committer | K. Handa | 2016-01-03 17:53:43 +0900 |
| commit | fb6d826c69939c2d016c1b824d4e9bcb53d9e643 (patch) | |
| tree | b9ce862d6cbe25e740203421984df21e4cbadbf4 /admin | |
| parent | 536f48e9a2251b9e654ea974bd90ff2f40218753 (diff) | |
| parent | 91917dd58ec5278e555b9c693a830749083e8f89 (diff) | |
| download | emacs-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/triage | 68 | ||||
| -rw-r--r-- | admin/release-process | 69 |
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 @@ | |||
| 1 | HOW TO TRIAGE EMACS BUGS -*- outline -*- | ||
| 2 | |||
| 3 | This document just describes the procedure of triaging bugs, for information on | ||
| 4 | how to work with the bug tracker, see the bugtracker file in this same directory | ||
| 5 | for the basics. You can also install the debbugs ELPA package for access to M-x | ||
| 6 | debbugs-gnu, an emacs interface to debbugs, and M-x debbugs-org, an emacs | ||
| 7 | interface via org-mode. | ||
| 8 | |||
| 9 | * Bug backlog triage procedure | ||
| 10 | |||
| 11 | The goal of this triage is to prune down the list of old bugs, closing | ||
| 12 | the 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 | |||
| 51 | The goal of the new bug triage process is similar to the backlog triage process, | ||
| 52 | except that the focus is on prioritizing the bug, and making sure it is has | ||
| 53 | necessary information for others to act on. | ||
| 54 | |||
| 55 | For 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 | |||
| 10 | period for new features, on the `master' branch and several feature | 10 | period for new features, on the `master' branch and several feature |
| 11 | branches. | 11 | branches. |
| 12 | 12 | ||
| 13 | ** Phase two: bugfixes | 13 | ** Phase two: fixing and stabilizing the release branch |
| 14 | 14 | ||
| 15 | Shortly before this phase, Emacs developers will be devoted to | 15 | Shortly before this phase, Emacs developers will be devoted to |
| 16 | figuring out what features to include in the next release and what | 16 | figuring out what features to include in the next release and what |
| 17 | features to defer to a later release. | 17 | features to defer to a later release. |
| 18 | 18 | ||
| 19 | This phase is mostly spent fixing bugs and documenting new features | ||
| 20 | and changes on the "emacs-NN" branch. Actually, the default branch | ||
| 21 | for pushing any work in this phase should be "emacs-NN", except for | ||
| 22 | new features. | ||
| 23 | |||
| 19 | At the beginning of this phase, a release branch called "emacs-NN" | 24 | At 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) |
| 21 | will be cut from `master'. | 26 | will be cut from `master'. When that happens, the version number on |
| 22 | 27 | `master' should be incremented; use admin/admin.el's `set-version' | |
| 23 | This phase is spent fixing bugs and eliminating undocumented new | 28 | command to do that, then commit the changes it made and push to |
| 24 | features on the "emacs-NN" branch. | 29 | `master'. For major releases, also update the value of |
| 30 | `customize-changed-options-previous-release'. | ||
| 31 | |||
| 32 | The 2 main manuals, the User Manual and the Emacs Lisp Manual, need to | ||
| 33 | be proofread, preferably by at least 2 different persons, and any | ||
| 34 | uncovered problems fixed. This is a lot of work, so it is advisable | ||
| 35 | to divide the job between several people (see the checklist near the | ||
| 36 | end of this file). | ||
| 25 | 37 | ||
| 26 | In parallel to this phase, `master' can receive new features, to be | 38 | In parallel to this phase, `master' can receive new features, to be |
| 27 | released in the next release cycle. From time to time, the master | 39 | released in the next release cycle. From time to time, the master |
| @@ -48,8 +60,16 @@ files. See `admin/notes/years' for information about maintaining | |||
| 48 | copyright years for GNU Emacs. | 60 | copyright 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 |
| 51 | are included in the source tarfile. (They don't need to be installed, | 63 | are included in the source tarball. (They don't need to be installed, |
| 52 | so eg admin/ is fine.) | 64 | so 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. | ||
| 70 | But first make sure there are no unmarked entries, and update the | ||
| 71 | documentation (or decide no updates are necessary) for those that | ||
| 72 | aren't. | ||
| 53 | 73 | ||
| 54 | ** Manuals | 74 | ** Manuals |
| 55 | Check for node names using problematic characters: | 75 | Check for node names using problematic characters: |
| @@ -60,7 +80,15 @@ Check for major new features added since the last release (e.g. new | |||
| 60 | lisp files), and add the relevant authors to the Acknowledgments in | 80 | lisp files), and add the relevant authors to the Acknowledgments in |
| 61 | doc/emacs/ack.texi and emacs.texi. | 81 | doc/emacs/ack.texi and emacs.texi. |
| 62 | 82 | ||
| 63 | Check cross-references between the manuals (eg from emacs to elisp) | 83 | For major releases, rewrite the "Antinews" appendix of the User Manual |
| 84 | (doc/emacs/anti.texi) to describe features lost by downgrading to the | ||
| 85 | previous version. The way to do that is read NEWS, pick up the more | ||
| 86 | significant changes and new features in the upcoming release, then | ||
| 87 | describe the "benefits" from losing those features. Be funny, use | ||
| 88 | humor. The text written for the previous major release can serve as | ||
| 89 | good example. | ||
| 90 | |||
| 91 | Check cross-references between the manuals (e.g. from emacs to elisp) | ||
| 64 | are correct. You can use something like the following in the info | 92 | are correct. You can use something like the following in the info |
| 65 | directory in the Emacs build tree: | 93 | directory in the Emacs build tree: |
| 66 | 94 | ||
| @@ -78,32 +106,31 @@ Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/ht | |||
| 78 | Another tool you can use to check links is gnu.org's linc.py: | 106 | Another tool you can use to check links is gnu.org's linc.py: |
| 79 | http://www.gnu.org/server/source/ | 107 | http://www.gnu.org/server/source/ |
| 80 | 108 | ||
| 81 | You run this something like: | 109 | You run this with something like: |
| 82 | 110 | ||
| 83 | cd /path/to/cvs/emacs-www | 111 | cd /path/to/cvs/emacs-www |
| 84 | linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ . | 112 | linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ . |
| 85 | 113 | ||
| 86 | Be warned that it is really, really slow (as in, can take ~ a full day | 114 | Be warned that it is really, really slow (as in, can take ~ a full day |
| 87 | to check the manual/ directory). It is probably best to run it on a | 115 | to check the manual/ directory). It is probably best to run it on a |
| 88 | single directory at a time from eg manual/html_node. It is very | 116 | single directory at a time from e.g. manual/html_node. It is very |
| 89 | inefficient, but may reveal a few things that info-xref does not. | 117 | inefficient, but may reveal a few things that info-xref does not. |
| 90 | 118 | ||
| 91 | |||
| 92 | make emacs.dvi, elisp.dvi, and deal with any errors (undefined | 119 | make emacs.dvi, elisp.dvi, and deal with any errors (undefined |
| 93 | references etc) in the output. Break any overfull lines. | 120 | references etc) in the output. Break any overfull lines. |
| 94 | Underfull hboxes are not serious, but it can be nice to get rid of | 121 | Underfull hboxes are not serious, but it can be nice to get rid of |
| 95 | them if a simple rephrasing or rearrangement will work. | 122 | them if a simple rephrasing or rearrangement will work. |
| 96 | 123 | ||
| 97 | Update the master menu and detailed menu (eg the antinews version). | 124 | Update the master menu and detailed menu (e.g. the antinews version). |
| 98 | The command texinfo-multiple-files-update can do this, but you | 125 | The command texinfo-multiple-files-update can do this, but you |
| 99 | probably want to apply the results selectively (eg the current master | 126 | probably want to apply the results selectively (e.g. the current master |
| 100 | menu has better line-breaks than the automatic version). It includes | 127 | menu has better line-breaks than the automatic version). It includes |
| 101 | the menu-entry name (if there is one) as well as the node name - using | 128 | the menu-entry name (if there is one) as well as the node name - using |
| 102 | only the latter looks better. Also, it doesn't seem to handle nested | 129 | only the latter looks better. Also, it doesn't seem to handle nested |
| 103 | includes, so will miss edebug.texi etc. | 130 | includes, so will miss edebug.texi etc. |
| 104 | 131 | ||
| 105 | Check for widow and orphan lines in the printed manual; make sure all | 132 | Check for widow and orphan lines in the printed manual; make sure all |
| 106 | the pages really look ok in the manual as formatted. Orphans/widows | 133 | the pages really look OK in the manual as formatted. Orphans/widows |
| 107 | are cases where the first/last line of a paragraph is on its own at | 134 | are cases where the first/last line of a paragraph is on its own at |
| 108 | the end/start of a page, or where the last word in a paragraph is on | 135 | the end/start of a page, or where the last word in a paragraph is on |
| 109 | its own at the start of a line. It looks better if you reword/respace | 136 | its 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 | |||
| 117 | depend on what paper and font size they use. This also means that if | 144 | depend on what paper and font size they use. This also means that if |
| 118 | you _are_ going to do this, it should be done with the paper and font | 145 | you _are_ going to do this, it should be done with the paper and font |
| 119 | size that the GNU Press are going to use when they print the manuals. | 146 | size that the GNU Press are going to use when they print the manuals. |
| 120 | I think this is different to what you get if you just use eg 'make | 147 | I think this is different to what you get if you just use e.g. 'make |
| 121 | emacs.pdf' (e.g., enable "smallbook"). | 148 | emacs.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. |
| 124 | What paper size are the English versions supposed to be on? | 155 | What paper size are the English versions supposed to be on? |
| 125 | On Debian testing, the packages texlive-lang-czechslovak and | 156 | On Debian testing, the packages texlive-lang-czechslovak and |
| @@ -141,14 +172,6 @@ pt-br Rodrigo Real | |||
| 141 | ru Alex Ott | 172 | ru Alex Ott |
| 142 | sk Miroslav Vaško | 173 | sk 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 | ||