<!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 4.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 4.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 4.0 High Resistance Mode</h1>
  <dl>
   <dt><em>Version:</em></dt>
   <dd><!-- hhmts start -->October 22nd, 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 4.0, 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
     <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 November 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>40_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>4.1</code>. If a bug is fixed in the <code>release40</code> branch as
     well, the target milestone should be set to <code>4.0</code>.
    </p>
   </li>
  </ol>

  </body>
</html>
