[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