~bzr-pqm/bzr/bzr.dev

4439.1.5 by Martin Pool
Bug process docs
1
***********************
4439.1.4 by Martin Pool
Start cleaning up docs on bugs and release process
2
Tracking Bugs in Bazaar
4439.1.5 by Martin Pool
Bug process docs
3
***********************
4439.1.4 by Martin Pool
Start cleaning up docs on bugs and release process
4
5
This document describes the bug-tracking processes for developing Bazaar
4439.1.5 by Martin Pool
Bug process docs
6
itself.  Bugs in Bazaar are recorded in Launchpad.
7
4439.1.4 by Martin Pool
Start cleaning up docs on bugs and release process
8
9
See also:
10
11
* `Bazaar Developer Documents <index.html>`_.
12
13
* `The Bazaar Development Cycle <cycle.html>`_.
14
15
* `The Bazaar User Guide <../en/user-guide/index.html>`_ -- for
16
  information on integrating Bazaar with other bug trackers.
17
4439.1.5 by Martin Pool
Bug process docs
18
19
Links
20
*****
21
22
* `bzr bugs home page <https://bugs.edge.launchpad.net/bzr>`_.
23
24
* `Critical bugs <https://bugs.edge.launchpad.net/bzr/+bugs?search=Search&field.importance=Critical&field.status=New&field.status=Incomplete&field.status=Confirmed&field.status=Triaged&field.status=In+Progress&field.status=Fix+Committed>`_.
25
26
* `Open bugs by importance <https://bugs.edge.launchpad.net/bzr/+bugs>`_.
27
28
* `Open bugs most recently changed first
29
  <https://bugs.edge.launchpad.net/bzr/+bugs?field.searchtext=&orderby=-date_last_updated&search=Search&field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.assignee=&field.bug_reporter=&field.omit_dupes=on&field.has_patch=&field.has_no_package=>`_.
30
5037.2.2 by Martin Pool
Link to commonly-duped bugs
31
* `Most commonly duplicated bugs <http://tinyurl.com/bzr-bugs-by-dupes>`_.
32
4439.1.5 by Martin Pool
Bug process docs
33
34
Generalities
35
************
36
37
Anyone involved with Bazaar is welcome to contribute to managing our bug
38
reports.  **Edit boldly**: try to help users out, assess importance or improve
39
the bug description or status.  Other people will see the bugs: it's
40
better to have 20 of them processed and later change the status of a
41
couple than to leave them lie.
42
43
When you file a bug as a Bazaar developer or active user, if you feel
44
confident in doing so, make an assessment of status and importance at the
45
time you file it, rather than leaving it for someone else.  It's more
46
efficient to change the importance if someone else feel's it's higher or
47
lower, than to have someone else edit all bugs.
48
49
It's more useful to actually ship bug fixes than to garden the bug
50
database.  It's more useful to take one bug through to a shipped fix than
51
to partially investigate ten bugs.  You don't get credit for a bug until
52
the fix is shipped in a release.  Users like getting a response to their
53
report, but they generally care more about getting bugs fixed.
54
55
The aim of investigating bugs before starting concentrated work on them is
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
56
therefore only to:
4439.1.5 by Martin Pool
Bug process docs
57
58
* determine if they are critical or high priority (and
59
  should displace existing work)
60
61
* garden sufficiently to keep the database usable: meaningful summaries,
62
  and duplicates removed
63
64
It's OK to fix some bugs that just annoy you, even if they're not
65
rationally high.
66
67
You can use ``--fixes lp:12345678`` when committing to associate the
68
commit with a particular bug.
69
70
If there are multiple bugs with related fixes, putting "[master]" in the
71
title of one of them helps find it
72
73
It's often fastest to find bugs just using the regular Google search
74
engine, rather than Launchpad's search.
75
76
Martin Pitt says:
77
78
 | One of the things you should not do often is to start asking
79
 | questions/for more debug info and then forget about the bug. It's just
80
 | a waste of the reporter's and your time, and will create frustration
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
81
 | on the reporter side.
4439.1.5 by Martin Pool
Bug process docs
82
83
84
Priorities
85
**********
86
87
The suggested priorities for bug work are:
88
89
1. Fix critical bugs.
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
90
4439.1.5 by Martin Pool
Bug process docs
91
2. Get existing fixes through review and landed.
92
93
3. Fix bugs that are already in progress.
94
95
4. Look at bugs already assigned to you, and either start them, or change
96
   your mind and unassign them.
97
98
5. Take new bugs from the top of the stack.
99
100
6. Triage new bugs.
101
102
It's not strict and of course there is personal discretion but our work
103
should be biased to the top of this hierarchy.
104
105
106
Clear Bugs
107
**********
108
109
Bugs should have clear edges, so that you can make a clear statement about
110
whether a bug is fixed or not.  (Sometimes reality is complicated, but aim
111
for each bug to be clear.)
112
113
Bugs on documentation, performance, or UI are fine as long as they're
114
clear bugs.
115
116
Examples of good bugs:
117
118
* "ValueError in frob_foo when committing changed symlink" - although
119
  there may be many possible things that could cause a ValueError there,
120
  you should at least know when you've fixed the problem described in this
121
  bug.
122
123
* "Unclear message about incompatible repositories" - even though the user
124
  may not agree the new message is sufficiently clear, at least you know
125
  when you've tried to fix it.
126
127
Examples of bad bugs:
128
129
* "Commit is too slow" - how fast is fast enough to close it?  "Commit
130
  reads the working tree twice" is clearer.
131
132
133
Bug Status
134
**********
135
136
New
137
    The bug has just been filed and hasn't been examined by a developer
138
    yet.
139
Incomplete
140
    The bug requires more information from the reporter to make progress.
4948.1.1 by Martin Pool
Update bug handling doc to deprecate fixcommitted and to explain other states better
141
142
    Only set this state if it's impossible or uneconomical to make
143
    progress on the bug without that information.  The bug will expire if
144
    it remains in this state for two months.
4439.1.5 by Martin Pool
Bug process docs
145
Confirmed
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
146
    The bug report has been seen by a developer and we agree it's a bug.
4948.1.1 by Martin Pool
Update bug handling doc to deprecate fixcommitted and to explain other states better
147
    You don't have to reproduce the bug to mark it Confirmed.  (Generally
4439.1.5 by Martin Pool
Bug process docs
148
    it's not a good idea for a developer to spend time reproducing the bug
149
    until they're going to work on it.)
150
Triaged
4641.1.1 by Robert Collins
Back out accidentally landed documentation change.
151
    We don't use this status.  If it is set, it means the same as
152
    Confirmed.
4439.1.5 by Martin Pool
Bug process docs
153
In Progress
4948.1.1 by Martin Pool
Update bug handling doc to deprecate fixcommitted and to explain other states better
154
    Someone has started working on this.  We can deliver the value of the
155
    work already done by finishing and shipping the fix.  
156
    
157
    The bug keeps this state from the time someone does non-trivial
158
    analysis, until the fix is merged to a release or trunk branch (when
159
    it is Fix Released), or until they give up on it (back to New or
160
    Confirmed) or decide it is Invalid or Incomplete.
4439.1.5 by Martin Pool
Bug process docs
161
Won't Fix
162
    The behaviour complained about is intentional and we won't fix it.
163
    Needless to say, be thoughtful before using this status, and consider if
164
    the user experience can be improved in some other way.
165
Invalid
166
    The reporter was confused, and this is not actually a bug.
167
    Again, be sensitive in explaining this to the user.
168
Fix Committed
4948.1.1 by Martin Pool
Update bug handling doc to deprecate fixcommitted and to explain other states better
169
    Don't use this.  If set on old bug, it probably means In Progress,
170
    with the fix waiting for review.  See Launchpad `bug 163694`_.
4439.1.5 by Martin Pool
Bug process docs
171
Fix Released
4675.2.1 by Robert Collins
Milestones language tightning, internal consistency.
172
    The fix for this bug is now in the bzr branch that this task is for.
4948.1.1 by Martin Pool
Update bug handling doc to deprecate fixcommitted and to explain other states better
173
    The branch for the default task on a bug is bzr.dev.  
174
    
175
    We use this value even though the fix may not have been been included
176
    in a release yet because all the developer activity around it is
177
    complete and we want to both avoid bug spam when releases happen, and
178
    keep the list of bugs that developers see when they look at the bug
179
    tracker trimmed to those that require action. 
180
    
181
    When setting a bug task to fix released, the bug target milestone
182
    should be set to the release the fix will be included in (or was
183
    included in, if you are updating an old bug). Don't spend too much
184
    time updating this if you don't immediately know: its not critical
185
    that it be set.
186
187
.. _`bug 163694`: https://bugs.launchpad.net/malone/+bug/163694
4439.1.5 by Martin Pool
Bug process docs
188
189
190
Bug Importance
191
**************
192
193
Critical
194
    This is a serious bug that could cause data loss, stop bzr being
195
    usable in an important case, or represents a regression in something
196
    previously working.  We should fix critical bugs before doing other
197
    work, or seriously consider whether the bug is really critical
198
    or whether the other change is more urgent.
199
High
200
    This is a bug that can seriously interfere with people's use of
201
    Bazaar.  We should seriously consider fixing these bugs before
202
    working on new features.
203
Medium
204
    A regular bug.  We'd like to fix them, but there may be a long delay.
205
Low
206
    Something suboptimal that may affect an unimportant case or have a
207
    fairly easy workaround.
208
Wishlist
209
    These will basically never get done.
210
211
Bugs rated Medium or lower are unlikely to get fixed unless they either
212
pique the interest of a developer or are escalated due eg to many users
213
being affected.
214
215
Not every existing bug is correctly rated according to this scale, and we
216
don't always follow this process, but we'd like to do it more.  But
217
remember, fixing bugs is more helpful than gardening them.
218
219
220
Assignment
221
**********
222
223
Assigning a bug to yourself, or someone else, indicates a real intention
224
to work on that bug soon.
225
226
227
Targetting Bugs
228
***************
229
230
It's possible to target a bug to a milestone, eg
4675.2.1 by Robert Collins
Milestones language tightning, internal consistency.
231
<https://bugs.edge.launchpad.net/bzr/+milestone/1.16>.  We use this to help the
232
release manager know what **must** be merged to make the release.
4439.1.5 by Martin Pool
Bug process docs
233
234
Therefore, we don't target bugs that we'd like to have fixed or that could
235
be fixed in a particular release, we only target bugs that must be fixed
4675.2.1 by Robert Collins
Milestones language tightning, internal consistency.
236
and that will cause us to slip the release if they're not fixed.  At any time,
4675.2.3 by Robert Collins
Review feedback.
237
very few if any of the bugs targeted to a release should be still open.  By
4675.2.1 by Robert Collins
Milestones language tightning, internal consistency.
238
definition, these bugs should normally be Critical priority.
4439.1.5 by Martin Pool
Bug process docs
239
240
241
Backports
242
*********
243
244
Sometimes we'll want to make a special point-release update (eg 1.15.1)
245
off an already-released branch including a fix for a particular bug.  To
246
represent this, create a new bug task (ie link in the status table on the
247
bug page) by clicking the `poorly-named
248
<https://bugs.launchpad.net/bugs/132733>`_ "Target to Release" link.
4675.2.1 by Robert Collins
Milestones language tightning, internal consistency.
249
Target it to the appropriate series (ie 1.15). If the bug should also
250
prevent any point releases of that series then you should also target the
251
new task to the appropriate milestone within that release. (See Targeting Bugs
252
above)
4439.1.5 by Martin Pool
Bug process docs
253
254
This bug task then has a separate status and importance to indicate the
255
separate work to get it into that release.
256
257
258
The News File
259
*************
260
261
Most bugs that are fixed should be mentioned in a `NEWS
262
<../en/release-notes/NEWS.html>`_ file entry,
263
including the bug number.
264
(Exceptions might be bugs that are not at all user visible.)
265
266
267
Tags
268
****
269
270
Here are some bug tags we use.  In Malone tags are currently of limited use, so don't feel obliged to tag bugs unless you're finding it useful.
271
272
273
authentication
274
    authenticating to servers
275
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
276
backport
4439.1.5 by Martin Pool
Bug process docs
277
    candidate for backporting to an update of the previous release
278
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
279
dirstate
4439.1.5 by Martin Pool
Bug process docs
280
    WorkingTree4
281
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
282
easy
4439.1.5 by Martin Pool
Bug process docs
283
    should be possible to finish in an hour or two
284
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
285
hpss
4439.1.5 by Martin Pool
Bug process docs
286
    bugs about the High-Performance Smart Server, i.e. bzr+ssh://, etc.
287
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
288
hpssvfs
4543.1.1 by Andrew Bennetts
Document hpssvfs tag.
289
    bugs for causes of VFS methods of the smart server
290
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
291
launchpad
4439.1.5 by Martin Pool
Bug process docs
292
    bugs about interactions with launchpad (typically this means bzrlib.plugins.launchpad).
293
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
294
locale
4439.1.5 by Martin Pool
Bug process docs
295
    problems using locales other than English
296
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
297
memory
4439.1.5 by Martin Pool
Bug process docs
298
    problems where we use too much memory for some reason
299
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
300
newformat
4439.1.5 by Martin Pool
Bug process docs
301
    fixing this would need a new disk format
302
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
303
performance
4439.1.5 by Martin Pool
Bug process docs
304
    bugs about performance problems.
305
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
306
test
4439.1.5 by Martin Pool
Bug process docs
307
    needs changes to the test framework
308
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
309
transport
4439.1.5 by Martin Pool
Bug process docs
310
    virtual filesystem for http, sftp, etc
311
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
312
trivial
4439.1.5 by Martin Pool
Bug process docs
313
    should be very easy to fix (10-20 minutes) and easily landed: typically just spelling errors and the like
314
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
315
ui
4439.1.5 by Martin Pool
Bug process docs
316
    bugs relating to the bzr user interface, e.g. confusing error messages.
317
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
318
win32
319
    bugs that mainly affects Windows. Also there is cygwin and win98 tags for marking specific bugs.
4439.1.5 by Martin Pool
Bug process docs
320
321
You can see the full list of tags in use at
322
<https://bugs.edge.launchpad.net/bzr/+bugs>.  As of September 2008 the
4853.1.1 by Patrick Regan
Removed trailing whitespace from files in doc directory
323
list is on the right.
4439.1.5 by Martin Pool
Bug process docs
324
4439.1.4 by Martin Pool
Start cleaning up docs on bugs and release process
325
.. vim: ft=rst