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