]> code.delx.au - gnu-emacs/blob - admin/notes/bugtracker
Expand on previous change.
[gnu-emacs] / admin / notes / bugtracker
1 NOTES ON THE EMACS BUG TRACKER -*- outline -*-
2
3 The Emacs Bug Tracker can be found at http://debbugs.gnu.org/
4
5 For a list of all bugs, see http://debbugs.gnu.org/db/pa/lemacs.html
6 This is a static page, updated once a day. There is also a dynamic
7 list, generated on request, but since there are many bug reports this
8 is slow and not recommended.
9
10 ** How do I report a bug in Emacs now?
11 The same way as you always did. Send mail to bug-gnu-emacs@gnu.org,
12 or use M-x report-emacs-bug.
13
14 The only differences are:
15
16 i) Your report will be assigned a number and generate an automatic reply.
17
18 ii) Optionally, you can set some database parameters when you first
19 report a bug (see "Setting bug parameters" below).
20
21 iii) If you want to CC: someone, use X-Debbugs-CC: (this is important;
22 see below).
23
24 Once your report is filed and assigned a number, it is sent out to the
25 bug mailing list. In some cases, it may be appropriate to just file a
26 bug, without sending out a copy. To do this, send mail to
27 quiet@debbugs.gnu.org.
28
29 ** How do I reply to an existing bug report?
30 Reply to 123@debbugs.gnu.org, replacing 123 with the number
31 of the bug you are interested in. NB this only sends mail to the
32 bug-list, it does NOT (?) send a CC to the original bug submitter.
33 So you need to explicitly CC him/her (and anyone else you like).
34
35 (Many people think the submitter SHOULD be automatically subscribed
36 to subsequent discussion, but this does not seem to be implemented.
37 See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=37078)
38
39 Do NOT send a separate copy to the bug list, since this may generate a
40 new report. The only time to send mail to the bug list is to create a
41 new report.
42
43 Gnus users can add the following to message-dont-reply-to-names;
44 similarly with Rmail and rmail-dont-reply-to-names:
45
46 [FIXME needs updating for debbugs.gnu.org]
47
48 "\\(emacs-pretest-bug\\|bug-gnu-emacs\\)@gnu\\.org\\|\
49 \\(\\(submit\\|control\\|owner\\)@emacsbugs\\.\\|bug-submit-list@\\)\
50 donarmstrong\\.com"
51
52 The "bug-submit-list@donarmstrong.com" and
53 "owner@debbugs.gnu.org" entries are there because they can
54 appear in the "Resent-To" and "Resent-CC" headers, respectively. For a
55 long time Rmail erroneously included these headers in replies. If you
56 correspond with an Rmail user on a bug, these addresses may end up in
57 the Cc. Mailing to them does nothing but create duplicates and errors.
58 (It is possible you might want to have a dialog with the owner
59 address, outside of normal bug reporting.)
60
61 ** When reporting a bug, to send a Cc to another address
62 (e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header.
63 Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a
64 mail with the bug report number in. If you do not do this, each reply
65 in the subsequent discussion will end up creating a new bug. This is
66 annoying.
67
68 Note that the way this feature works is perhaps not ideal (Bug#1720).
69 If X-Debbugs-CC: was specifed by a real header, that header is removed
70 in the mail sent out to the bug list, and the addresses merged into
71 the Resent-CC header (see below). They don't appear as an explicit CC:
72 header, nor do they appear in the Reply-To: header. So people you
73 X-Debbugs-CC are not included in any following discussion unless they are
74 manually cc'd. So this feature really only serves to notify them that
75 a bug has been filed. It's then up to them to follow any subsequent
76 discussion.
77
78 If X-Debbugs-CC were merged into the Reply-To header, this might work
79 more the way people expect.
80
81 ** How does Debbugs send out mails?
82
83 The mails are sent out to the bug list with From: and To: unchanged.
84 Eg if you file a bug with "submit@debbugs.gnu.org", that
85 remains in the To: address. They reach the bug list by being resent.
86
87 Mails arriving at the bug list have the following Resent-* headers:
88
89 [ FIXME needs updating for debbugs.gnu.org ]
90
91 Resent-From: person who submitted the bug
92 Resent-To: bug-submit-list@donarmstrong.com
93 Resent-CC: maintainer email address, plus any X-Debbugs-CC: entries
94
95 The "maintainer email address" is "Emacs Bugs <bug-gnu-emacs@gnu.org>"
96 in most cases.
97
98 They also have:
99
100 Reply-To: bug submitter, 123@debbugs.gnu.org
101
102 ** To not get acknowledgement mail from the tracker,
103 add an "X-Debbugs-No-Ack:" header (with any value). If you use Gnus,
104 you can add an element to gnus-posting-styles to do this automatically, eg:
105
106 ("gnu-emacs\\(-pretest\\)?-bug"
107 ("X-Debbugs-No-Ack" "yes"))
108
109 (adjust the regexp according to the name you use for the bug lists)
110
111 ** To record a bug in the tracker without sending mail to the bug list.
112 This can be useful to make a note of something discussed on
113 emacs-devel that needs fixing. In other words, this can be the
114 equivalent of adding something to FOR-RELEASE.
115
116 To: quiet@debbugs.gnu.org
117 [headers end]
118 Package: emacs
119 Version: 23.0.60
120 Severity: minor
121
122 Remember to fix FOO, as discussed on emacs-devel at http://... .
123
124 ** Not interested in tracker control messages (tags being set, etc)?
125 Discard mails matching:
126
127 ^X-Emacs-PR-Message: transcript
128
129 When you close a bug, you get a message matching:
130
131 ^X-Emacs-PR-Message: closed
132
133 ** How to avoid multiple copies of mails.
134 When you reply to a bug, respect the Reply-To address, ie send mail
135 only to the submitter address and the numbered bug address. Do not
136 send mail direct to bug-gnu-emacs or emacs-pretest-bug unless you are
137 reporting a new bug.
138
139 ** To close bug #123 (for example), send mail
140
141 To: 123-done@debbugs.gnu.org
142
143 with a brief explanation in the body as to why the bug was closed.
144 There is no need to cc the address without the "-done" part or the
145 submitter; they get copies anyway so this will just result in more
146 duplicate mail.
147
148 ** Setting bug parameters.
149 There are two ways to set the parameters of bugs in the database
150 (tags, severity level, etc). When you report a new bug, you can
151 provide a "pseudo-header" at the start of the report, eg:
152
153 Package: emacs
154 Version: 23.0.60
155 Severity: minor
156
157 Optionally, add a sub-package, eg Package: emacs,calendar.
158 This can include tags. Some things (e.g. submitter) don't seem to
159 work here.
160
161 Otherwise, send mail to the control server, control@debbugs.gnu.org.
162 At the start of the message body, supply the desired commands, one per
163 line:
164
165 command bug-number [arguments]
166 ...
167 quit|stop|thank|thanks|thankyou|thank you
168
169 The control server ignores anything after the last line above. So you
170 can place control commands at the beginning of a reply to a bug
171 report, and Bcc: the control server (note the commands have no effect
172 if you just send them to the bug-report number). Bcc: is better than Cc:
173 in case people use Reply-to-All in response.
174
175 Some useful control commands:
176
177 *** To reopen a closed bug:
178 reopen 123
179
180 *** Bugs can be tagged in various ways (eg wontfix, patch, etc).
181 The available tags are:
182 patch wontfix moreinfo unreproducible fixed notabug
183 Note that the list at http://debbugs.gnu.org/Developer#tags
184 is incorrect, at least for Emacs.
185 The list of tags can be prefixed with +, - or =, meaning to add (the
186 default), remove, or reset the tags. E.g.:
187
188 tags 123 + wontfix
189
190 ** Usertags
191
192 See <http://wiki.debian.org/bugs.debian.org/usertags>
193
194 "Usertags" are very similar to tags: a set of labels that can be added
195 to a bug. There are two differences between normal tags and user
196 tags:
197
198 1) Anyone can define any valid usertag they like. In contrast, only a
199 limited, predefined set of normal tags are available (see above).
200
201 2) A usertag is associated with a specific email address.
202
203 You set usertags in the same way as tags, by talking to the control
204 server. One difference is that you can also specify the associated
205 email address. If you don't explicitly specify an address, then it
206 will use the one from which you send the control message. The address
207 must have the form of an email address (with an "@" sign and least 4
208 characters after the "@").
209
210 *** Setting usertags
211
212 a) In a control message:
213
214 user bug-gnu-emacs@gnu.org
215 usertags 1234 any-tag-you-like
216
217 This will add a usertag "any-tag-you-like" to bug 1234. The tag will
218 be associated with the address "bug-gnu-emacs@gnu.org". If you omit
219 the first line, the tag will be associated with your email address.
220
221 The syntax of the usertags command is the same as that of tags (eg wrt
222 the optional [=+-] argument).
223
224 b) In an initial submission, in the pseudo-header:
225
226 User: bug-gnu-emacs@gnu.org
227 Usertags: a-new-tag
228
229 Again, the "User" is optional.
230
231 *** Searching by usertags
232
233 The search interface is not as advanced as for normal tags. You need
234 to construct the relevant url yourself rather than just typing in a
235 search box. The only piece you really need to add is the "users"
236 portion, the rest has the same syntax as normal.
237
238 **** To find all bugs usertagged by a given email address:
239
240 http://debbugs.gnu.org/cgi/pkgreport.cgi?users=bug-gnu-emacs@gnu.org
241
242 (Supposedly, the "users" field can be a comma-separated list of more
243 than one email address, but it does not seem to work for me.)
244
245 **** To find bugs tagged with a specific usertag:
246
247 This works just like a normal tags search, but with the addition of a
248 "users" field. Eg:
249
250 http://debbugs.gnu.org/cgi/pkgreport.cgi?users=bug-gnu-emacs@gnu.org;tag=calendar
251
252 *** To merge bugs:
253 Eg when bad replies create a bunch of new bugs for the same report.
254 Bugs must all be in the same state (e.g. same package(s) and severity
255 -- see `reassign' and `severity' below), but need not have the same
256 tags (tags are merged). E.g.:
257
258 merge 123 124 125 ...
259
260 Note that merging does not affect titles. In particular, a "retitle"
261 of merged bugs only affects individual bugs, not all of them.
262
263 *** Forcing a merge:
264 Like `merge', but bugs need not be in the same state. The packages
265 must still match though (see `reassign' below). The first one listed
266 is the master. E.g.:
267
268 forcemerge 123 124 125 ...
269
270 Note: you cannot merge with an archived bug - you must unarchive it first.
271
272 *** To unmerge bugs:
273 To disconnect a bug from all bugs it is merged with:
274
275 unmerge 123
276
277 This command accepts only one bug number.
278
279 *** To clone bugs:
280 Useful when one report refers to more than one bug.
281
282 clone 123 -1 [-2 ...]
283 retitle -1 second bug
284 retitle -2 third bug
285
286 The negative numbers provide a way to refer to the cloned bugs (which
287 will be assigned proper numbers).
288
289 NB you cannot clone a merged bug. You'd think that trying to do so
290 would just give you an unmerged copy of the specified bug number, but no:
291
292 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474742
293
294 You must unmerge, clone, then re-merge.
295
296 *** To set severity:
297 severity 123 critical|grave|serious|important|normal|minor|wishlist
298
299 See http://debbugs.gnu.org/Developer#severities for the meanings.
300
301 *** To set the owner of a bug:
302 owner 123 A Hacker <none@example.com>
303
304 The shorthand `!' means your own address.
305
306 *** To remove the owner of a bug:
307 noowner 123
308
309 *** To mark a bug as fixed in a particular version:
310 fixed 123 23.0.60
311
312 *** To remove a "fixed" mark:
313 notfixed 123 23.0.60
314
315 *** To assign or reassign a bug to a package or list of packages:
316 reassign 1234 emacs,cc-mode
317
318 ** To remove spam from the tracker, move it to the `spam' pseudo-package:
319 reassign 123 spam
320
321 ** To change the title of a bug:
322 retitle 123 Some New Title
323
324 ** To change the submitter address:
325 submitter 123 none@example.com
326
327 Note that it does not seem to work to specify "Submitter:" in the
328 pseudo-header when first reporting a bug.
329
330 ** How does archiving work?
331 You can still send mail to a bug after it is closed. After 28 days with
332 no activity, the bug is archived, at which point no more changes can
333 be made. If you try to send mail to the bug after that (or merge with
334 it), it will be rejected. To make any changes, you must unarchive it first:
335
336 unarchive 123
337
338 The bug will be re-archived after the next 28 day period of no activity.
339
340 ** The web-page with the list of bugs is slow to load
341
342 It's a function of the number of displayed bugs. You can speed things
343 up by only looking at the newest 100 bugs:
344
345 http://debbugs.gnu.org/cgi-bin/pkgreport.cgi?newest=100;package=emacs
346
347 The above page is accessible from the "Options" section at the end of
348 the "main list of bugs" page. Select bugs "in package" = emacs;
349 "newest bugs" = 100. (I have no idea how you get to that Options
350 section without having to go through the bug list page first...)
351
352 ** Mails to the bug tracker disappear
353
354 Apparently it has some kind of spam filter that sometimes silently
355 discards valid mails. Adding a subject (pointless in control messages)
356 may help.
357
358 ** ChangeLog issues
359
360 *** When you fix a bug, it can be helpful to put the bug number in the
361 ChangeLog entry, for example:
362
363 * foo.el (foofunc): Fix the `foo' case. (Bug#123)
364
365 Then the relevant bug can be found for easy reference. If it's an
366 obvious fix (e.g. a typo), there's no need to clutter the log with the
367 bug number.
368
369 Similarly, when you close a bug, it can be helpful to include the
370 relevant ChangeLog entry in the message to the bug tracker, so people
371 can see eaxctly what the fix was.
372
373 *** bug-reference-mode
374
375 Activate `bug-reference-mode' in ChangeLogs to get clickable links to
376 the bug web-pages.
377
378 *** Debian stuff
379
380 http://lists.gnu.org/archive/html/emacs-devel/2009-11/msg00440.html
381
382 ** Gnus-specific voodoo
383
384 *** Put point on a bug-number and try: M-x gnus-read-ephemeral-emacs-bug-group
385
386 *** If the above is not available:
387 (add-hook 'gnus-article-mode-hook
388 (lambda ()
389 (setq bug-reference-url-format "http://debbugs.gnu.org/%s")
390 (bug-reference-mode 1)))
391
392 and you can click on the bug number in the subject header.