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