# CVS Branch Information

At any given time, there may be several active branches in Mesa's CVS repository. Generally, the CVS trunk contains the latest development (unstable) code while a CVS branch has the latest stable code.

Currently (Nov 2003), the trunk is the Mesa 5.1 development code while the mesa_5_0_branch branch has the stable Mesa 5.0.x code.

Mesa releases use an even/odd numbering scheme to represent stable/development releases. For example, Mesa 5.0.x (0 is considered even) is a stable release while Mesa 5.1.x is a development release.

To checkout a specific CVS branch pass `-r` and the branch tag after your CVS command. For example `cvs checkout -r mesa_5_0_branch Mesa` will checkout the 5.0.x branch and `cvs update -r mesa_5_0_branch` will convert your current CVS tree to the 5.0.x branch. Consult http://www.durak.org/cvswebsites/doc/cvs_5.php3#SEC54 for more on branching in CVS.

To see a list of all the CVS branches run `cvs log README` (or any other file) and look for the section labeled `symbolic names`. You'll see something like this:

      symbolic names:
            mesa_4_0: 1.3
            mesa_4_0_branch: 1.3.0.6
            mesa_3_5: 1.3
            mesa_3_4_2: 1.3
            mesa_3_4_1: 1.3
            mesa_3_4: 1.3
            mesa_3_4_branch: 1.3.0.4
            mesa_3_3: 1.3
            mesa_3_2_1: 1.1.1.1
            mesa_3_3_texture_env_combine2: 1.3.0.2
            mesa_3_2: 1.1.1.1
            mesa_3_2_beta_1: 1.1.1.1
            mesa_3_1: 1.1.1.1
            mesa_3_2_dev: 1.1.1.1.0.2
            mesa_3_1_beta_3: 1.1.1.1
            start: 1.1.1.1
            mesa: 1.1.1

Most will be obsolete branches. Generally, the newer branches are at the top. Ask on the mesa3d-dev mailing list to learn which branches are active.