Just regenerating to get fresh version in place of very dated versions.
[privoxy.git] / doc / webserver / developer-manual / cvs.html
index 8801054..7986499 100644 (file)
@@ -4,7 +4,7 @@
 >The CVS Repository</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.64
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
 "><LINK
 REL="HOME"
 TITLE="Privoxy Developer Manual"
@@ -28,6 +28,7 @@ ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
+SUMMARY="Header navigation table"
 WIDTH="100%"
 BORDER="0"
 CELLPADDING="0"
@@ -45,6 +46,7 @@ ALIGN="left"
 VALIGN="bottom"
 ><A
 HREF="introduction.html"
+ACCESSKEY="P"
 >Prev</A
 ></TD
 ><TD
@@ -58,6 +60,7 @@ ALIGN="right"
 VALIGN="bottom"
 ><A
 HREF="documentation.html"
+ACCESSKEY="N"
 >Next</A
 ></TD
 ></TR
@@ -70,9 +73,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="CVS"
->2. The CVS Repository</A
-></H1
+NAME="CVS">2. The CVS Repository</H1
 ><P
 >      If you intend to help us with programming, documentation or packaging
       you will need write access to our holy grail, the CVS repository.
@@ -83,9 +84,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="CVSACCESS"
->2.1. Access to CVS</A
-></H2
+NAME="CVSACCESS">2.1. Access to CVS</H2
 ><P
 >        The project's CVS repository is hosted on
         <A
@@ -120,22 +119,82 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="CVSCOMMIT"
->2.2. CVS Commit Guideline</A
-></H2
+NAME="CVSBRANCHES">2.2. Branches</H2
+><P
+>       Within the CVS repository, there are modules and branches. As
+       mentioned, the sources are in the <TT
+CLASS="LITERAL"
+>current</TT
+>
+       <SPAN
+CLASS="QUOTE"
+>"module"</SPAN
+>. Other modules are present for platform specific
+       issues. There is a webview of the CVS hierarchy at <A
+HREF="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/"
+TARGET="_top"
+>http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/</A
+>,
+       which might help with visualizing how these pieces fit together.
+     </P
+><P
+>       Branches are used to fork a sub-development path from the main trunk.
+       Within the <TT
+CLASS="LITERAL"
+>current</TT
+> module where the sources are, there
+       is always at least one <SPAN
+CLASS="QUOTE"
+>"branch"</SPAN
+> from the main trunk
+       devoted to a stable release series. The main trunk is where active
+       development takes place for the next stable series (e.g. 3.2.x).
+       And for testing bugfixes for the stable series. Just prior to each
+       stable series (e.g. 3.0.x), a branch is created just for stable series
+       releases (e.g. 3.0.0 -&#62; 3.0.1 -&#62; 3.0.2, etc). Once the initial stable
+       release of any stable branch has taken place, this branch is
+       <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>only used for bugfixes</I
+></SPAN
+>, which have had prior
+       testing before being committed to CVS. (See <A
+HREF="newrelease.html#VERSIONNUMBERS"
+>Version Numbers</A
+> below for details on
+       versioning.)
+     </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="CVSCOMMIT">2.3. CVS Commit Guidelines</H2
 ><P
 >        The source tree is the heart of every software project. Every effort must
         be made to ensure that it is readable, compilable and consistent at all
-        times. We therefore ask anyone with CVS access to strictly adhere to the
-        following guidelines:
-        <P
+        times. There are differing guidelines for the stable branch and the
+        main development trunk, and we ask anyone with CVS access to strictly
+        adhere to the following guidelines:
+      </P
+><P
+>       Basic Guidelines, for all branches:
+      </P
+><P
+>        <P
 ></P
 ><UL
 ><LI
 ><P
->            Never (read: <I
+>            Never (read: <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >never, ever</I
+></SPAN
 >) be tempted to commit
             that small change without testing it thoroughly first. When we're
             close to a public release, ask a fellow developer to review your 
@@ -144,13 +203,19 @@ CLASS="EMPHASIS"
 ></LI
 ><LI
 ><P
->            Your commit message should give a concise overview of <I
+>            Your commit message should give a concise overview of <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >what you
             changed</I
-> (no big details) and <I
+></SPAN
+> (no big details) and <SPAN
+CLASS="emphasis"
+><I
 CLASS="EMPHASIS"
 >why you changed it</I
+></SPAN
 >
             Just check previous messages for good examples.
           </P
@@ -164,82 +229,95 @@ CLASS="EMPHASIS"
 ><LI
 ><P
 >            If your changes span multiple files, and the code won't recompile unless
-            all changes are commited (e.g. when changing the signature of a function),
-            then commit all files one after another, without long delays in beween.
+            all changes are committed (e.g. when changing the signature of a function),
+            then commit all files one after another, without long delays in between.
             If necessary, prepare the commit messages in advance.
           </P
 ></LI
 ><LI
 ><P
 >            Before changing things on CVS, make sure that your changes are in line
-            with the team's general consensus on what should be done (see below).
+            with the team's general consensus on what should be done.
+          </P
+></LI
+><LI
+><P
+>            Note that near a major public release, we get more cautious.
+            There is always the possibility to submit a patch to the <A
+HREF="http://sourceforge.net/tracker/?atid=311118&group_id=11118&func=browse"
+TARGET="_top"
+>patch
+            tracker</A
+> instead.
           </P
 ></LI
 ></UL
 >
       </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CVSWHENASK"
->2.3. Discussing Changes First</A
-></H2
 ><P
->        We don't have a too formal policy on this, just use common sense. Hints: If it is..
-        <P
+>       Stable branches are handled with decidedly more care, especially after
+       the initial *.*.0 release, and we are just in bugfix mode. In addition
+       to the above, the below applies only to the stable branch (currently
+       the v_3_0_branchpoint branch):
+      </P
+><P
+>       <P
 ></P
-><OL
-TYPE="1"
+><UL
 ><LI
 ><P
->            ..a bugfix / clean-up / cosmetic thing: shoot
-          </P
+>          Do <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>not commit anything</I
+></SPAN
+> into the stable branch,
+          unless immediately before a new release! There needs to be testing 
+          done before it hits CVS, and to ensure that all changes are
+          appropriate just to fix whatever the problem is.
+        </P
 ></LI
 ><LI
 ><P
->            ..a new feature that can be turned off: shoot
-          </P
+>         Where possible, bugfixes and changes should be tested in the main 
+         development trunk first. There may be occasions where this is not 
+         feasible, though.
+        </P
 ></LI
 ><LI
 ><P
->            ..a clear improvement w/o side effects on other parts of the code: shoot
-          </P
+>          Alternately, proposed changes can be submitted as patches to the patch tracker on 
+          Sourceforge first: <A
+HREF="http://sourceforge.net/tracker/?group_id=11118&atid=311118"
+TARGET="_top"
+>http://sourceforge.net/tracker/?group_id=11118&#38;atid=311118</A
+>.
+          Then ask for peer review. 
+        </P
 ></LI
 ><LI
 ><P
->            ..a matter of taste: <A
-HREF="mailto:developers@privoxy.org"
-TARGET="_top"
->ask the list</A
->
-          </P
+>           Do not commit <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>anything</I
+></SPAN
+> unless your proposed
+           changes have been well tested first, by other members of the
+           project, and have prior approval of the project leaders or consensus
+           of the devel list.
+         </P
 ></LI
 ><LI
 ><P
->            ..a major redesign of some part of the code: <A
-HREF="mailto:developers@privoxy.org"
-TARGET="_top"
->ask
-            the list</A
->
-          </P
+>          Do not even think about anything except bugfixes. No new features!
+         </P
 ></LI
-></OL
+></UL
 >
       </P
-><P
->        Note that near a major public release, we get a bit more cautious - if
-        unsure, it doesn't hurt to ask first. There is always the possibility
-        to submit a patch to the <A
-HREF="http://sourceforge.net/tracker/?atid=311118&group_id=11118&func=browse"
-TARGET="_top"
->patches
-        tracker</A
-> instead.
-      </P
 ></DIV
 ></DIV
 ><DIV
@@ -247,6 +325,7 @@ CLASS="NAVFOOTER"
 ><HR
 ALIGN="LEFT"
 WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
 WIDTH="100%"
 BORDER="0"
 CELLPADDING="0"
@@ -258,6 +337,7 @@ ALIGN="left"
 VALIGN="top"
 ><A
 HREF="introduction.html"
+ACCESSKEY="P"
 >Prev</A
 ></TD
 ><TD
@@ -266,6 +346,7 @@ ALIGN="center"
 VALIGN="top"
 ><A
 HREF="index.html"
+ACCESSKEY="H"
 >Home</A
 ></TD
 ><TD
@@ -274,6 +355,7 @@ ALIGN="right"
 VALIGN="top"
 ><A
 HREF="documentation.html"
+ACCESSKEY="N"
 >Next</A
 ></TD
 ></TR