<!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>3.6 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 3.6 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>3.6 High Resistance Mode</h1>
  <dl>
   <dt><em>Version:</em></dt>
   <dd><!-- hhmts start -->March 1, 2004<!-- hhmts end --></dd>
   <dt><em>Authors:</em></dt>
   <dd>Jesse Glick, Jan Chalupa</dd>
  </dl>

  <p>
  <i>High Resistance mode guidelines originally written by Jesse Glick for <a href="https://netbeans.org/community/releases/34/high-resistance.html">NetBeans 3.4</a>. For 3.6, adapted by Jan Chalupa</i>
  </p>

  <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
     <a
     href="mailto:reviewers-subscribe@netbeans.org"><code>reviewers@netbeans.org</code></a>
     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 March 1 2004, 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>36_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>promo-D</code>. If a bug is fixed in the <code>release36</code> branch as
     well, the target milestone should be set to <code>3.6</code>.
    </p>
   </li>
  </ol>

  <p>
   Fixes not intended to be applied to 3.6, but potentially useful in an
   update, can be marked with the <code>3.6.1_CANDIDATE</code> keyword to
   help track them. In case a 3.6.1 release is ever made, it will be easy to find what fixes are suggested.
  </p>

 </body>
</html>
