- <div class="SECT1">
- <h1 class="SECT1">
- <a name="CVS">2. The CVS Repository</a>
- </h1>
- <p>
- If you become part of the active development team, you will
- eventually need write access to our holy grail, the CVS repository.
- One of the team members will need to set this up for you. Please read
- this chapter completely before accessing via CVS.
- </p>
- <div class="SECT2">
- <h2 class="SECT2">
- <a name="CVSACCESS">2.1. Access to CVS</a>
- </h2>
- <p>
- The project's CVS repository is hosted on <a href=
- "http://sourceforge.net/" target="_top">SourceForge.</a> Please
- refer to the chapters 6 and 7 in <a href=
- "http://sourceforge.net/docman/?group_id=1" target="_top">SF's site
- documentation</a> for the technical access details for your
- operating system. For historical reasons, the CVS server is called
- <tt class="LITERAL">ijbswa.cvs.sourceforge.net</tt>, the repository
- is called <tt class="LITERAL">ijbswa</tt>, and the source tree
- module is called <tt class="LITERAL">current</tt>.
- </p>
- </div>
- <div class="SECT2">
- <h2 class="SECT2">
- <a name="CVSBRANCHES">2.2. Branches</a>
- </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://ijbswa.cvs.sourceforge.net/ijbswa/" target=
- "_top">http://ijbswa.cvs.sourceforge.net/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). So 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 -> 3.0.1 -> 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>
- <p>
- At one time there were two distinct branches: stable and unstable.
- The more drastic changes were to be in the unstable branch. These
- branches have now been merged to minimize time and effort of
- maintaining two branches.
- </p>
- </div>
- <div class="SECT2">
- <h2 class="SECT2">
- <a name="CVSCOMMIT">2.3. CVS Commit Guidelines</a>
- </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. 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>
- <ul>
- <li>
- <p>
- Please don't commit even a small change without testing it
- thoroughly first. When we're close to a public release, ask a
- fellow developer to review your changes.
- </p>
- </li>
- <li>
- <p>
- Your commit message should give a concise overview of <span
- class="emphasis"><i class="EMPHASIS">what you
- changed</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>
- </li>
- <li>
- <p>
- Don't use the same message on multiple files, unless it equally
- applies to all those files.
- </p>
- </li>
- <li>
- <p>
- If your changes span multiple files, and the code won't
- recompile unless 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.
- </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>
- </div>
+
+ <div class="SECT2">
+ <h2 class="SECT2"><a name="CVSBRANCHES" id="CVSBRANCHES">2.2.
+ Branches</a></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://ijbswa.cvs.sourceforge.net/ijbswa/" target=
+ "_top">http://ijbswa.cvs.sourceforge.net/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). So 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 -> 3.0.1 -> 3.0.2, etc). Once the initial stable release of
+ any stable branch has taken place, this branch is <span class=
+ "emphasis EMPHASIS c2">only used for bugfixes</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>
+
+ <p>At one time there were two distinct branches: stable and unstable.
+ The more drastic changes were to be in the unstable branch. These
+ branches have now been merged to minimize time and effort of
+ maintaining two branches.</p>