Lines 41-57
Link Here
|
41 |
<section> |
41 |
<section> |
42 |
<title>Introduction</title> |
42 |
<title>Introduction</title> |
43 |
|
43 |
|
44 |
<para>Gnats is a defect management (bug reporting) system used by |
44 |
<para>GNATS is a defect management (bug reporting) system used by |
45 |
the FreeBSD Project. As accurate tracking of outstanding |
45 |
the FreeBSD Project. As accurate tracking of outstanding |
46 |
software defects is important to the quality process, the |
46 |
software defects is important to FreeBSD's quality, the |
47 |
correct use of Gnats is essential to the forward progress of the |
47 |
correct use of GNATS is essential to the forward progress of the |
48 |
Project.</para> |
48 |
Project.</para> |
49 |
|
49 |
|
50 |
<para>Access to Gnats is provided to FreeBSD developers as well as |
50 |
<para>Access to GNATS is available to FreeBSD developers, as well as |
51 |
to the wider community. In order to maintain consistency within |
51 |
to the wider community. In order to maintain consistency within |
52 |
the database and provide a uniform user experience, guidelines |
52 |
the database and provide a consistent user experience, guidelines |
53 |
have been established covering common aspects of bug management |
53 |
have been established covering common aspects of bug management |
54 |
such as presenting followup, handling close requests and so |
54 |
such as presenting followup, handling close requests, and so |
55 |
forth.</para> |
55 |
forth.</para> |
56 |
</section> |
56 |
</section> |
57 |
|
57 |
|
Lines 60-73
Link Here
|
60 |
|
60 |
|
61 |
<itemizedlist> |
61 |
<itemizedlist> |
62 |
<listitem> |
62 |
<listitem> |
63 |
<para>The originator submits a PR and receives a confirmation |
63 |
<para>The Reporter submits a PR and receives a confirmation |
64 |
message.</para> |
64 |
message, most likely via &man.send-pr.1; or the Problem Report web form at <ulink url="http://www.FreeBSD.org/send-pr.html">http://www.FreeBSD.org/send-pr.html</ulink>.</para> |
65 |
</listitem> |
65 |
</listitem> |
66 |
|
66 |
|
67 |
<listitem> |
67 |
<listitem> |
68 |
<para>Joe Random Committer takes interest in the PR and |
68 |
<para>Joe Random Committer takes interest in the PR and |
69 |
assigns it to himself, or Jane Random BugBuster decides that |
69 |
assigns it to himself, or Jane Random BugBuster decides that |
70 |
Joe is the best suited to handle it and assigns it to |
70 |
Joe is best suited to handle it and assigns it to |
71 |
him.</para> |
71 |
him.</para> |
72 |
</listitem> |
72 |
</listitem> |
73 |
|
73 |
|
Lines 112-118
Link Here
|
112 |
<note> |
112 |
<note> |
113 |
<para>Many PRs are submitted with very little information about |
113 |
<para>Many PRs are submitted with very little information about |
114 |
the problem, and some are either very complex to solve, or |
114 |
the problem, and some are either very complex to solve, or |
115 |
just scratch the surface of a big problem; in these cases, it |
115 |
just scratch the surface of a larger problem; in these cases, it |
116 |
is very important to obtain all the necessary information |
116 |
is very important to obtain all the necessary information |
117 |
needed to solve the problem. If the problem contained within |
117 |
needed to solve the problem. If the problem contained within |
118 |
cannot be solved, or has occurred again, it is necessary to |
118 |
cannot be solved, or has occurred again, it is necessary to |
Lines 124-146
Link Here
|
124 |
usual and ask the originator (in the followup) to provide a |
124 |
usual and ask the originator (in the followup) to provide a |
125 |
working email address. This is normally the case when |
125 |
working email address. This is normally the case when |
126 |
&man.send-pr.1; is used from a system with the mail system |
126 |
&man.send-pr.1; is used from a system with the mail system |
127 |
disabled / not installed.</para> |
127 |
disabled or not installed.</para> |
128 |
</note> |
128 |
</note> |
129 |
</section> |
129 |
</section> |
130 |
|
130 |
|
131 |
<section> |
131 |
<section> |
132 |
<title>Problem Report State</title> |
132 |
<title>Problem Report State</title> |
133 |
|
133 |
|
134 |
<para>It is important to update the state of a PR when some |
134 |
<para>It is important to update the state of a PR when certain |
135 |
actions are taken. The state should accurately reflect the |
135 |
actions are taken. The state should accurately reflect the |
136 |
current state of work on the PR.</para> |
136 |
current state of work on the PR.</para> |
137 |
|
137 |
|
138 |
<example> |
138 |
<example> |
139 |
<title>A small example on when to change a state</title> |
139 |
<title>A small example on when to change PR state</title> |
140 |
|
140 |
|
141 |
<para>When a PR has been worked on and the developer(s) |
141 |
<para>When a PR has been worked on and the developer(s) |
142 |
responsible feel comfortable about the fix, they will submit a |
142 |
responsible feel comfortable about the fix, they will submit a |
143 |
followup to the PR and change the state to |
143 |
followup to the PR and change its state to |
144 |
<quote>feedback</quote>. At this point, the originator should |
144 |
<quote>feedback</quote>. At this point, the originator should |
145 |
evaluate the fix in their context and respond indicating |
145 |
evaluate the fix in their context and respond indicating |
146 |
whether the defect has indeed been remedied.</para> |
146 |
whether the defect has indeed been remedied.</para> |
Lines 178-185
Link Here
|
178 |
<glossentry> |
178 |
<glossentry> |
179 |
<glossterm>patched</glossterm> |
179 |
<glossterm>patched</glossterm> |
180 |
<glossdef> |
180 |
<glossdef> |
181 |
<para>A patch has been committed, but some issues (MFC, or |
181 |
<para>A patch has been committed, but something (MFC, or |
182 |
maybe confirmation from originator) are still open.</para> |
182 |
maybe confirmation from originator) is still pending.</para> |
183 |
</glossdef> |
183 |
</glossdef> |
184 |
</glossentry> |
184 |
</glossentry> |
185 |
|
185 |
|
Lines 190-198
Link Here
|
190 |
information or resources. This is a prime candidate for |
190 |
information or resources. This is a prime candidate for |
191 |
somebody who is looking for a project to take on. If the |
191 |
somebody who is looking for a project to take on. If the |
192 |
problem cannot be solved at all, it will be closed, rather |
192 |
problem cannot be solved at all, it will be closed, rather |
193 |
than suspended. The documentation project use |
193 |
than suspended. The documentation project uses |
194 |
<quote>suspended</quote> for <quote>wish-list</quote> |
194 |
<quote>suspended</quote> for <quote>wish-list</quote> |
195 |
items that entail a significant amount of work that no one |
195 |
items that entail a significant amount of work which no one |
196 |
currently has time for.</para> |
196 |
currently has time for.</para> |
197 |
</glossdef> |
197 |
</glossdef> |
198 |
</glossentry> |
198 |
</glossentry> |
Lines 209-217
Link Here
|
209 |
|
209 |
|
210 |
<note> |
210 |
<note> |
211 |
<para>The <quote>patched</quote> state is directly related to |
211 |
<para>The <quote>patched</quote> state is directly related to |
212 |
feedback, in that you may go directly change to this state if |
212 |
feedback, so you may go directly to <quote>closed</quote> state if |
213 |
the originator cannot test the patch, given that it |
213 |
the originator cannot test the patch, and it works in your own testing.</para> |
214 |
works.</para> |
|
|
215 |
</note> |
214 |
</note> |
216 |
</section> |
215 |
</section> |
217 |
|
216 |
|
Lines 230-236
Link Here
|
230 |
assignee. If you have comments, submit a followup. If for |
229 |
assignee. If you have comments, submit a followup. If for |
231 |
some reason you think the PR should change state or be |
230 |
some reason you think the PR should change state or be |
232 |
reassigned, send a message to the assignee. If the assignee |
231 |
reassigned, send a message to the assignee. If the assignee |
233 |
does not respond within two weeks, unassign the PR and do as |
232 |
does not respond within two weeks, unassign or reassign the PR and do as |
234 |
you please.</para> |
233 |
you please.</para> |
235 |
</section> |
234 |
</section> |
236 |
|
235 |
|
Lines 241-262
Link Here
|
241 |
choose the one that contains the largest amount of useful |
240 |
choose the one that contains the largest amount of useful |
242 |
information and close the others, stating clearly the number |
241 |
information and close the others, stating clearly the number |
243 |
of the superseding PR. If several PRs contain non-overlapping |
242 |
of the superseding PR. If several PRs contain non-overlapping |
244 |
useful information, submit whatever is missing from the one |
243 |
useful information, submit all the missing information to one |
245 |
you keep open in a followup, with references to the PRs you |
244 |
in a followup, including references to the others; then close the other PRs (which are now completely superseded).</para> |
246 |
close.</para> |
|
|
247 |
</section> |
245 |
</section> |
248 |
|
246 |
|
249 |
<section> |
247 |
<section> |
250 |
<title>Stale PRs</title> |
248 |
<title>Stale PRs</title> |
251 |
|
249 |
|
252 |
<para>A PR is considered stale if it hasn't been modified in |
250 |
<para>A PR is considered stale if it hasn't been modified in |
253 |
more than six months. Apply the following procedure:</para> |
251 |
more than six months. Apply the following procedure to deal with stale PRs:</para> |
254 |
|
252 |
|
255 |
<itemizedlist> |
253 |
<itemizedlist> |
256 |
<listitem> |
254 |
<listitem> |
257 |
<para>If the PR contains sufficient detail, try to reproduce |
255 |
<para>If the PR contains sufficient detail, try to reproduce |
258 |
the problem in <literal>-CURRENT</literal> and |
256 |
the problem in <literal>-CURRENT</literal> and |
259 |
<literal>-STABLE</literal>. if you succeed, submit a |
257 |
<literal>-STABLE</literal>. If you succeed, submit a |
260 |
followup detailing your findings and try to find someone |
258 |
followup detailing your findings and try to find someone |
261 |
to assign it to. Set the state to <quote>analyzed</quote> |
259 |
to assign it to. Set the state to <quote>analyzed</quote> |
262 |
if appropriate.</para> |
260 |
if appropriate.</para> |
Lines 281-298
Link Here
|
281 |
<listitem> |
279 |
<listitem> |
282 |
<para>If the PR describes an error which you know has been |
280 |
<para>If the PR describes an error which you know has been |
283 |
corrected in <literal>-CURRENT</literal>, but not in |
281 |
corrected in <literal>-CURRENT</literal>, but not in |
284 |
<literal>-STABLE</literal>, try to find out if the person |
282 |
<literal>-STABLE</literal>, try to find out when the person |
285 |
who corrected is planning to MFC it, or try to find |
283 |
who corrected it is planning to MFC it, or try to find |
286 |
someone else (maybe yourself?) to do it. Set the state to |
284 |
someone else (maybe yourself?) to do it. Set the state to |
287 |
<quote>feedback</quote> and assign it to whomever will do |
285 |
<quote>feedback</quote> and assign it to whomever will do |
288 |
the MFC.</para> |
286 |
the MFC.</para> |
289 |
</listitem> |
287 |
</listitem> |
290 |
|
288 |
|
291 |
<listitem> |
289 |
<listitem> |
292 |
<para>In all other cases, ask the originator to confirm if |
290 |
<para>In other cases, ask the originator to confirm if |
293 |
the problem still exists in newer versions. If the |
291 |
the problem still exists in newer versions. If the |
294 |
originator does not reply within a month, close the PR |
292 |
originator does not reply within a month, close the PR |
295 |
with the mention <quote>Feedback timeout</quote>.</para> |
293 |
with the notation <quote>Feedback timeout</quote>.</para> |
296 |
</listitem> |
294 |
</listitem> |
297 |
</itemizedlist> |
295 |
</itemizedlist> |
298 |
</section> |
296 |
</section> |