Merge lp:~mbp/bzr/doc-old into lp:~bzr/bzr/trunk-old

Proposed by Martin Pool
Status: Merged
Merged at revision: not available
Proposed branch: lp:~mbp/bzr/doc-old
Merge into: lp:~bzr/bzr/trunk-old
Diff against target: 404 lines
To merge this branch: bzr merge lp:~mbp/bzr/doc-old
Reviewer Review Type Date Requested Status
Aaron Bentley (community) Approve
Vincent Ladeuil Approve
bzr-core doc rfc Pending
Review via email: mp+7444@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Martin Pool (mbp) wrote :

This adds a summary of the threads about bug process, clarifies some of the points about targeting and severity, and moves content from http://bazaar-vcs.org/BugGuidelines (which I should delete when this is merged.)

Revision history for this message
Vincent Ladeuil (vila) wrote :

Thanks for all the clarifications.

I don't know if, exceptionally, more people should approve that patch ?

I do anyway.

review: Approve
Revision history for this message
Aaron Bentley (abentley) wrote :

It looks good to me. Sensible policy, clearly described.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'doc/developers/bug-handling.txt'
2--- doc/developers/bug-handling.txt 1970-01-01 00:00:00 +0000
3+++ doc/developers/bug-handling.txt 2009-06-16 02:35:24 +0000
4@@ -0,0 +1,298 @@
5+***********************
6+Tracking Bugs in Bazaar
7+***********************
8+
9+This document describes the bug-tracking processes for developing Bazaar
10+itself. Bugs in Bazaar are recorded in Launchpad.
11+
12+
13+See also:
14+
15+* `Bazaar Developer Documents <index.html>`_.
16+
17+* `The Bazaar Development Cycle <cycle.html>`_.
18+
19+* `The Bazaar User Guide <../en/user-guide/index.html>`_ -- for
20+ information on integrating Bazaar with other bug trackers.
21+
22+
23+Links
24+*****
25+
26+* `bzr bugs home page <https://bugs.edge.launchpad.net/bzr>`_.
27+
28+* `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>`_.
29+
30+* `Open bugs by importance <https://bugs.edge.launchpad.net/bzr/+bugs>`_.
31+
32+* `Open bugs most recently changed first
33+ <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=>`_.
34+
35+
36+Generalities
37+************
38+
39+Anyone involved with Bazaar is welcome to contribute to managing our bug
40+reports. **Edit boldly**: try to help users out, assess importance or improve
41+the bug description or status. Other people will see the bugs: it's
42+better to have 20 of them processed and later change the status of a
43+couple than to leave them lie.
44+
45+When you file a bug as a Bazaar developer or active user, if you feel
46+confident in doing so, make an assessment of status and importance at the
47+time you file it, rather than leaving it for someone else. It's more
48+efficient to change the importance if someone else feel's it's higher or
49+lower, than to have someone else edit all bugs.
50+
51+It's more useful to actually ship bug fixes than to garden the bug
52+database. It's more useful to take one bug through to a shipped fix than
53+to partially investigate ten bugs. You don't get credit for a bug until
54+the fix is shipped in a release. Users like getting a response to their
55+report, but they generally care more about getting bugs fixed.
56+
57+The aim of investigating bugs before starting concentrated work on them is
58+therefore only to:
59+
60+* determine if they are critical or high priority (and
61+ should displace existing work)
62+
63+* garden sufficiently to keep the database usable: meaningful summaries,
64+ and duplicates removed
65+
66+It's OK to fix some bugs that just annoy you, even if they're not
67+rationally high.
68+
69+You can use ``--fixes lp:12345678`` when committing to associate the
70+commit with a particular bug.
71+
72+If there are multiple bugs with related fixes, putting "[master]" in the
73+title of one of them helps find it
74+
75+It's often fastest to find bugs just using the regular Google search
76+engine, rather than Launchpad's search.
77+
78+Martin Pitt says:
79+
80+ | One of the things you should not do often is to start asking
81+ | questions/for more debug info and then forget about the bug. It's just
82+ | a waste of the reporter's and your time, and will create frustration
83+ | on the reporter side.
84+
85+
86+Priorities
87+**********
88+
89+The suggested priorities for bug work are:
90+
91+1. Fix critical bugs.
92+
93+2. Get existing fixes through review and landed.
94+
95+3. Fix bugs that are already in progress.
96+
97+4. Look at bugs already assigned to you, and either start them, or change
98+ your mind and unassign them.
99+
100+5. Take new bugs from the top of the stack.
101+
102+6. Triage new bugs.
103+
104+It's not strict and of course there is personal discretion but our work
105+should be biased to the top of this hierarchy.
106+
107+
108+Clear Bugs
109+**********
110+
111+Bugs should have clear edges, so that you can make a clear statement about
112+whether a bug is fixed or not. (Sometimes reality is complicated, but aim
113+for each bug to be clear.)
114+
115+Bugs on documentation, performance, or UI are fine as long as they're
116+clear bugs.
117+
118+Examples of good bugs:
119+
120+* "ValueError in frob_foo when committing changed symlink" - although
121+ there may be many possible things that could cause a ValueError there,
122+ you should at least know when you've fixed the problem described in this
123+ bug.
124+
125+* "Unclear message about incompatible repositories" - even though the user
126+ may not agree the new message is sufficiently clear, at least you know
127+ when you've tried to fix it.
128+
129+Examples of bad bugs:
130+
131+* "Commit is too slow" - how fast is fast enough to close it? "Commit
132+ reads the working tree twice" is clearer.
133+
134+
135+Bug Status
136+**********
137+
138+New
139+ The bug has just been filed and hasn't been examined by a developer
140+ yet.
141+Incomplete
142+ The bug requires more information from the reporter to make progress.
143+Confirmed
144+ The bug report has been seen by a developer and we agree it's a bug.
145+ You don't have to reproduce the bug to mark it confirmed. (Generally
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
149+ We don't use this status. If it is set, it means the same as
150+ Confirmed.
151+In Progress
152+ Someone has started working on this.
153+Won't Fix
154+ The behaviour complained about is intentional and we won't fix it.
155+ Needless to say, be thoughtful before using this status, and consider if
156+ the user experience can be improved in some other way.
157+Invalid
158+ The reporter was confused, and this is not actually a bug.
159+ Again, be sensitive in explaining this to the user.
160+Fix Committed
161+ A fix for this bug exists in a branch somewhere. Ideally the bug will
162+ be linked to the branch.
163+Fix Released
164+ The fix for this bug is now in the bzr trunk. It's not necessarily
165+ true that it's released yet, but it will be in the next release. The
166+ bug target milestone should be set to the release it went into, but
167+ don't spend too much time updating this if you don't immediately know.
168+
169+
170+Bug Importance
171+**************
172+
173+Critical
174+ This is a serious bug that could cause data loss, stop bzr being
175+ usable in an important case, or represents a regression in something
176+ previously working. We should fix critical bugs before doing other
177+ work, or seriously consider whether the bug is really critical
178+ or whether the other change is more urgent.
179+High
180+ This is a bug that can seriously interfere with people's use of
181+ Bazaar. We should seriously consider fixing these bugs before
182+ working on new features.
183+Medium
184+ A regular bug. We'd like to fix them, but there may be a long delay.
185+Low
186+ Something suboptimal that may affect an unimportant case or have a
187+ fairly easy workaround.
188+Wishlist
189+ These will basically never get done.
190+
191+Bugs rated Medium or lower are unlikely to get fixed unless they either
192+pique the interest of a developer or are escalated due eg to many users
193+being affected.
194+
195+Not every existing bug is correctly rated according to this scale, and we
196+don't always follow this process, but we'd like to do it more. But
197+remember, fixing bugs is more helpful than gardening them.
198+
199+
200+Assignment
201+**********
202+
203+Assigning a bug to yourself, or someone else, indicates a real intention
204+to work on that bug soon.
205+
206+
207+Targetting Bugs
208+***************
209+
210+It's possible to target a bug to a milestone, eg
211+<https://bugs.edge.launchpad.net/bzr/+milestone/1.16>. We use this mostly
212+to help the release manager know what **must** be merged to make the
213+release.
214+
215+Therefore, we don't target bugs that we'd like to have fixed or that could
216+be fixed in a particular release, we only target bugs that must be fixed
217+and that will or might cause us to decide to slip the release if they're
218+not fixed. At any time, very few if any of the bugs targetted to a
219+release should be still open. By definition, these bugs should normally
220+be Critical priority.
221+
222+
223+Backports
224+*********
225+
226+Sometimes we'll want to make a special point-release update (eg 1.15.1)
227+off an already-released branch including a fix for a particular bug. To
228+represent this, create a new bug task (ie link in the status table on the
229+bug page) by clicking the `poorly-named
230+<https://bugs.launchpad.net/bugs/132733>`_ "Target to Release" link.
231+Target it to the appropriate series (ie 1.15) and then to the milestone
232+within that release.
233+
234+This bug task then has a separate status and importance to indicate the
235+separate work to get it into that release.
236+
237+
238+The News File
239+*************
240+
241+Most bugs that are fixed should be mentioned in a `NEWS
242+<../en/release-notes/NEWS.html>`_ file entry,
243+including the bug number.
244+(Exceptions might be bugs that are not at all user visible.)
245+
246+
247+Tags
248+****
249+
250+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.
251+
252+
253+authentication
254+ authenticating to servers
255+
256+backport
257+ candidate for backporting to an update of the previous release
258+
259+dirstate
260+ WorkingTree4
261+
262+easy
263+ should be possible to finish in an hour or two
264+
265+hpss
266+ bugs about the High-Performance Smart Server, i.e. bzr+ssh://, etc.
267+
268+launchpad
269+ bugs about interactions with launchpad (typically this means bzrlib.plugins.launchpad).
270+
271+locale
272+ problems using locales other than English
273+
274+memory
275+ problems where we use too much memory for some reason
276+
277+newformat
278+ fixing this would need a new disk format
279+
280+performance
281+ bugs about performance problems.
282+
283+test
284+ needs changes to the test framework
285+
286+transport
287+ virtual filesystem for http, sftp, etc
288+
289+trivial
290+ should be very easy to fix (10-20 minutes) and easily landed: typically just spelling errors and the like
291+
292+ui
293+ bugs relating to the bzr user interface, e.g. confusing error messages.
294+
295+win32
296+ bugs that mainly affects Windows. Also there is cygwin and win98 tags for marking specific bugs.
297+
298+You can see the full list of tags in use at
299+<https://bugs.edge.launchpad.net/bzr/+bugs>. As of September 2008 the
300+list is on the right.
301+
302+.. vim: ft=rst
303
304=== modified file 'doc/developers/cycle.txt'
305--- doc/developers/cycle.txt 2008-10-17 08:05:03 +0000
306+++ doc/developers/cycle.txt 2009-06-16 02:35:24 +0000
307@@ -1,9 +1,32 @@
308+============================
309 The Bazaar Development Cycle
310 ============================
311
312
313-
314-General process
315+Overview
316+--------
317+
318+Bazaar makes a release every four weeks, with one release candidate one
319+week before the final release. We may vary this schedule from time to
320+time, amongst other things to respond to bugs reported in the release
321+candidate or the final release. Nevertheless, we value a regular release
322+and we will normally slip only for serious bugs or regressions.
323+
324+See also:
325+
326+* `Bazaar Developer Document Catalog <index.html>`_
327+
328+* `Releasing Bazaar <releasing.html>`_ -- the process for actually making
329+ a release or release candidate.
330+
331+Longer-Term Planning
332+--------------------
333+
334+Work spanning multiple releases is typically tracked in the bug tracker,
335+and summarized in <http://bazaar-vcs.org/Roadmap>.
336+
337+
338+General Process
339 ---------------
340
341 We normally have one person acting as the release manager, who
342@@ -93,13 +116,6 @@
343 <releasing.html>`_ as the first RC.
344
345
346-See also
347---------
348-
349-* `Bazaar Developer Document Catalog <index.html>`_
350-
351-* `Releasing Bazaar <releasing.html>`_ -- the process for actually making
352- a release or release candidate.
353
354
355 ..
356
357=== modified file 'doc/developers/index.txt'
358--- doc/developers/index.txt 2009-04-03 01:34:58 +0000
359+++ doc/developers/index.txt 2009-06-16 02:35:24 +0000
360@@ -49,6 +49,9 @@
361 * `EC2 resources <ec2.html>`_ |--| A team resource for
362 Windows packaging and testing, and Ubuntu testing.
363
364+* `Tracking Bugs in Bazaar <bug-handling.html>`_ |--| How we use the bug
365+ tracker.
366+
367 Plans
368 =====
369
370
371=== modified file 'doc/developers/releasing.txt'
372--- doc/developers/releasing.txt 2009-06-15 00:16:54 +0000
373+++ doc/developers/releasing.txt 2009-06-16 02:35:24 +0000
374@@ -166,8 +166,7 @@
375
376 The Bazaar team is happy to announce availability of a new
377 release of the bzr adaptive version control system.
378- Bazaar is part of the GNU project to develop a complete
379- free software system.
380+ Bazaar is part of the GNU system <http://gnu.org/>.
381
382 Thanks to everyone who contributed patches, suggestions, and
383 feedback.
384
385=== modified file 'doc/en/developer-guide/HACKING.txt'
386--- doc/en/developer-guide/HACKING.txt 2009-06-10 05:00:47 +0000
387+++ doc/en/developer-guide/HACKING.txt 2009-06-16 02:35:24 +0000
388@@ -1558,16 +1558,6 @@
389 Planning Releases
390 =================
391
392-Roadmaps
393---------
394-
395-As the two senior developers, Martin Pool and Robert Collins coordinate
396-the overall Bazaar product development roadmap. Core developers provide
397-input and review into this, particularly during sprints. It's totally
398-expected that community members ought to be working on things that
399-interest them the most. The roadmap is valuable though because it provides
400-context for understanding where the product is going as a whole and why.
401-
402
403 Using Releases and Milestones in Launchpad
404 ------------------------------------------