<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><!-- -*- xhtml -*- -->
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>NetBeans 5.0 High Resistance Mode</title>
  <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css"/>
  <meta name="TOPIC" content="NB_ORG"/>
  <meta name="TYPE" content="ARTICLE"/>
  <meta name="AUDIENCE" content="NBDEVELOPER"/>
  <meta name="DESCRIPTION" content="Guidelines for NetBeans 5.0 high-resistance bug fixing mode."/>
  <meta name="AUTHOR" content="Jesse Glick"/>
  <meta name="AUTHOR" content="Jan Chalupa"/>
  <meta name="INDEXED" content="Y"/>
 </head>
 <body>

  <h1>NetBeans 5.0 High Resistance Mode</h1>
  <dl>
   <dt><em>Version:</em></dt>
   <dd><!-- hhmts start -->December 10, 2005<!-- hhmts end --></dd>
   <dt><em>Authors:</em></dt>
   <dd>Jesse Glick, Jan Chalupa, Trung Duc Tran</dd>
  </dl>

  <h2>High Resistance</h2>
  <p>
   To fix bugs during high resistance mode requires some special steps.
  </p>

  <ol>
   <li>
    <p>
     All developers with any experience are strongly encouraged to subscribe to
     <code><a
     href="mailto:reviewers-subscribe@netbeans.org">reviewers@netbeans.org</a></code>
     There is also <a
     href="nntp://news.gmane.org/gmane.comp.java.netbeans.reviewers">NNTP access</a>. Archives
     are <a
     href="https://netbeans.org/projects/www/lists/reviewers/archive">here</a>.
    </p>
   </li>
   <li>
    <p>
     After high resistance begins on December 12, 2005, all proposed patches
       must be preannounced on <code>reviewers@netbeans.org</code>.
    </p>
    <p>
     Only high priority bug fixes are permitted. All P1 and P2 bugs ought to be
       fixed unless there is a compelling reason not to.
    </p>
    <p>
     Non-structural (HTML-only) documentation fixes can be made without being
     pre-announced. Minor bundle fixes (spelling errors etc., but not major text
     changes in the GUI) can be made without discussion as well.
    </p>
   </li>
   <li>
    <p>
     The message to this alias should include the issue number (in a hyperlink),
     a subject line summarizing the bug or patch, and a sentence or two
     describing the proposed patch - enough for someone to guess whether he or
     she is interested in the details.
    </p>
    <p>
     The Issuezilla report must be fixed in the trunk; have a full <samp>cvs diff
      -c</samp>/<samp>-u</samp> patch for review (you may link to an already-committed
     patch using CVSweb); full description of the bug and why it is important enough
     to fix; information on testing and safety; etc.
    </p>
    <p>
     The issue <em>must</em> be marked with the <code>50_HR_FIX</code> keyword.
    </p>
   </li>
   <li>
    <p>
     The developer to whom the issue is assigned, is responsible for getting a
     review from at least one other developer somehow. The other developer should
     add a note to the issue when he/she has reviewed it confirming that the
     patch looks OK.
    </p>
    <p>
     Objections <em>must</em> be recorded in the Issuezilla bug report,
     <em>not</em> sent back to <code>reviewers@netbeans.org</code> (where even
     the submitter might not see it!).
    </p>
   </li>
   <li>
    <p>
     If no objections have been raised after 24 hours, and the patch has been
     reviewed by another developer and verified by QA, the developer is free to integrate the patch.
    </p>
   </li>
   <li>
    <p>
     A bug fixed only in the trunk should have the target milestone set to
     <code>5.1</code>. If a bug is fixed in the <code>release50</code> branch as
     well, the target milestone should be set to <code>5.0</code>.
    </p>
   </li>
   <li>
    <p>
    All P3 bug reports must be evaluated promptly to make sure there are no P1,
    P2 bugs hidden among them.  P3 bugs will not be fixed in
    <code>release50</code> branch.  If a P3 bug is considered important enough, then
    its priority must be adjusted accordingly, ie raised to P2 or P1 before the
    fix can get into <code>release50</code> branch.
    </p>
   </li>
  </ol>

  </body>
</html>
