[commits] [Wiki] created: Doc/Dev/BranchesCvs

Jan Schneider jan at horde.org
Tue Jun 28 13:26:48 UTC 2011


jan  Tue, 28 Jun 2011 13:26:48 +0000

Created page: http://wiki.horde.org/Doc/Dev/BranchesCvs


----
+ How Horde CVS is organized

All of the code in our repository is split into a set of modules.  
However, sometimes there are multiple branches available of a module.  
A CVS branch is a mechanism for keeping multiple versions of a module;  
for instance, a stable branch and a development branch.

Our branches and release engineering can seem a little convoluted at  
first, but follows some pretty simple rules. When you check something  
out of CVS, by default, you get the '''HEAD''' branch. '''HEAD''' is  
always the latest development code. It may be undocumented, it may be  
broken, it may cause tofu to turn purple. You never know.

The branches that hold release versions of applications - code that is  
documented, tested, and recommended for production use - are named  
'''RELENG_*''', where * is the major version of the application in  
question. So, the release branch for IMP 3.x is '''RELENG_3'''. The  
release branch for Horde 2.x is '''RELENG_2'''. Note that this doesn't  
give you a way to distinguish between IMP 3.0 and IMP 3.1 - they live  
in the same CVS branch, because one supercedes the other. However, we  
do tag releases, so you can check out IMP 3.0 with the '''IMP_3_0'''  
tag.

There are also some old '''STABLE_*_*''' branches available for Horde  
and IMP, which pre-date the current release engineering practice. No  
new branches will be created with these tags, and you shouldn't need  
to work with them, but they are relatively self-explanatory in what  
they refer to: Horde's '''STABLE_1_2''' is Horde 1.2.x, etc.

Not all versions are compatible to each other. If you want to know  
which stable versions work with which version of another module, see  
http://horde.org/source/versions.php.

Because this matrix will get more complicated with the 37 released  
modules (http://horde.org/source/modules.php) that we will have in the  
near future, we decided to introduce a new branch name. All branches  
of all modules that are compatible to each other will have the same  
branch name in the future, starting with '''FRAMEWORK_3''' for the  
next set of major version releases.



More information about the commits mailing list