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