Rebuilt HTML for 3.0.20 UNRELEASED with Ian's recent changes
[privoxy.git] / doc / webserver / developer-manual / cvs.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
3
4 <html>
5 <head>
6   <title>The CVS Repository</title>
7   <meta name="GENERATOR" content=
8   "Modular DocBook HTML Stylesheet Version 1.79">
9   <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
10   <link rel="PREVIOUS" title="Introduction" href="introduction.html">
11   <link rel="NEXT" title="Documentation Guidelines" href=
12   "documentation.html">
13   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
14   <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
15   <style type="text/css">
16 body {
17   background-color: #EEEEEE;
18   color: #000000;
19   }
20   :link { color: #0000FF }
21   :visited { color: #840084 }
22   :active { color: #0000FF }
23   span.c2 {font-style: italic}
24   hr.c1 {text-align: left}
25   </style>
26 </head>
27
28 <body class="SECT1">
29   <div class="NAVHEADER">
30     <table summary="Header navigation table" width="100%" border="0"
31     cellpadding="0" cellspacing="0">
32       <tr>
33         <th colspan="3" align="center">Privoxy Developer Manual</th>
34       </tr>
35
36       <tr>
37         <td width="10%" align="left" valign="bottom"><a href=
38         "introduction.html" accesskey="P">Prev</a></td>
39
40         <td width="80%" align="center" valign="bottom"></td>
41
42         <td width="10%" align="right" valign="bottom"><a href=
43         "documentation.html" accesskey="N">Next</a></td>
44       </tr>
45     </table>
46     <hr class="c1" width="100%">
47   </div>
48
49   <div class="SECT1">
50     <h1 class="SECT1"><a name="CVS" id="CVS">2. The CVS Repository</a></h1>
51
52     <p>If you become part of the active development team, you will eventually
53     need write access to our holy grail, the CVS repository. One of the team
54     members will need to set this up for you. Please read this chapter
55     completely before accessing via CVS.</p>
56
57     <div class="SECT2">
58       <h2 class="SECT2"><a name="CVSACCESS" id="CVSACCESS">2.1. Access to
59       CVS</a></h2>
60
61       <p>The project's CVS repository is hosted on <a href=
62       "http://sourceforge.net/" target="_top">SourceForge.</a> Please refer
63       to the chapters 6 and 7 in <a href=
64       "http://sourceforge.net/docman/?group_id=1" target="_top">SF's site
65       documentation</a> for the technical access details for your operating
66       system. For historical reasons, the CVS server is called <tt class=
67       "LITERAL">ijbswa.cvs.sourceforge.net</tt>, the repository is called
68       <tt class="LITERAL">ijbswa</tt>, and the source tree module is called
69       <tt class="LITERAL">current</tt>.</p>
70     </div>
71
72     <div class="SECT2">
73       <h2 class="SECT2"><a name="CVSBRANCHES" id="CVSBRANCHES">2.2.
74       Branches</a></h2>
75
76       <p>Within the CVS repository, there are modules and branches. As
77       mentioned, the sources are in the <tt class="LITERAL">current</tt>
78       <span class="QUOTE">"module"</span>. Other modules are present for
79       platform specific issues. There is a webview of the CVS hierarchy at
80       <a href="http://ijbswa.cvs.sourceforge.net/ijbswa/" target=
81       "_top">http://ijbswa.cvs.sourceforge.net/ijbswa/</a>, which might help
82       with visualizing how these pieces fit together.</p>
83
84       <p>Branches are used to fork a sub-development path from the main
85       trunk. Within the <tt class="LITERAL">current</tt> module where the
86       sources are, there is always at least one <span class=
87       "QUOTE">"branch"</span> from the main trunk devoted to a stable release
88       series. The main trunk is where active development takes place for the
89       next stable series (e.g. 3.2.x). So just prior to each stable series
90       (e.g. 3.0.x), a branch is created just for stable series releases (e.g.
91       3.0.0 -&gt; 3.0.1 -&gt; 3.0.2, etc). Once the initial stable release of
92       any stable branch has taken place, this branch is <span class=
93       "emphasis EMPHASIS c2">only used for bugfixes</span>, which have had
94       prior testing before being committed to CVS. (See <a href=
95       "newrelease.html#VERSIONNUMBERS">Version Numbers</a> below for details
96       on versioning.)</p>
97
98       <p>At one time there were two distinct branches: stable and unstable.
99       The more drastic changes were to be in the unstable branch. These
100       branches have now been merged to minimize time and effort of
101       maintaining two branches.</p>
102     </div>
103
104     <div class="SECT2">
105       <h2 class="SECT2"><a name="CVSCOMMIT" id="CVSCOMMIT">2.3. CVS Commit
106       Guidelines</a></h2>
107
108       <p>The source tree is the heart of every software project. Every effort
109       must be made to ensure that it is readable, compilable and consistent
110       at all times. There are differing guidelines for the stable branch and
111       the main development trunk, and we ask anyone with CVS access to
112       strictly adhere to the following guidelines:</p>
113
114       <p>Basic Guidelines, for all branches:</p>
115
116       <ul>
117         <li>
118           <p>Please don't commit even a small change without testing it
119           thoroughly first. When we're close to a public release, ask a
120           fellow developer to review your changes.</p>
121         </li>
122
123         <li>
124           <p>Your commit message should give a concise overview of
125           <span class="emphasis EMPHASIS c2">what you changed</span> (no big
126           details) and <span class="emphasis EMPHASIS c2">why you changed
127           it</span> Just check previous messages for good examples.</p>
128         </li>
129
130         <li>
131           <p>Don't use the same message on multiple files, unless it equally
132           applies to all those files.</p>
133         </li>
134
135         <li>
136           <p>If your changes span multiple files, and the code won't
137           recompile unless all changes are committed (e.g. when changing the
138           signature of a function), then commit all files one after another,
139           without long delays in between. If necessary, prepare the commit
140           messages in advance.</p>
141         </li>
142
143         <li>
144           <p>Before changing things on CVS, make sure that your changes are
145           in line with the team's general consensus on what should be
146           done.</p>
147         </li>
148
149         <li>
150           <p>Note that near a major public release, we get more cautious.
151           There is always the possibility to submit a patch to the <a href=
152           "http://sourceforge.net/tracker/?atid=311118&amp;group_id=11118&amp;func=browse"
153           target="_top">patch tracker</a> instead.</p>
154         </li>
155       </ul>
156     </div>
157   </div>
158
159   <div class="NAVFOOTER">
160     <hr class="c1" width="100%">
161
162     <table summary="Footer navigation table" width="100%" border="0"
163     cellpadding="0" cellspacing="0">
164       <tr>
165         <td width="33%" align="left" valign="top"><a href="introduction.html"
166         accesskey="P">Prev</a></td>
167
168         <td width="34%" align="center" valign="top"><a href="index.html"
169         accesskey="H">Home</a></td>
170
171         <td width="33%" align="right" valign="top"><a href=
172         "documentation.html" accesskey="N">Next</a></td>
173       </tr>
174
175       <tr>
176         <td width="33%" align="left" valign="top">Introduction</td>
177
178         <td width="34%" align="center" valign="top">&nbsp;</td>
179
180         <td width="33%" align="right" valign="top">Documentation
181         Guidelines</td>
182       </tr>
183     </table>
184   </div>
185 </body>
186 </html>