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