Old and outdate info, needs to be updated.
The code for Koha is managed using a program called CVS (Concurrent Versions System). CVS allows us to keep track of changes made to the code, including the ability to have multiple branches of the code being worked on simultneously.
The following sites have good information on using CVS.
[http://www.cvshome.org/ CVS Home] [http://cvsbook.red-bean.com/ The CVS Book] [http://sourceforge.net/cvs/?group_id=16466 CVS access information at SourceForge.net]
At any given time, there will likely be at least two active branches of Koha being worked on. One branch will be the stable branch and will consist of a copy of the code as it existed when the last stable version of Koha was released. This branch will typically be labelled rel-1-2, rel-2-0, rel-2-2, etc. rel-1-2 will contain the branch for versions 1.2.0, 1.2.1, 1.2.2, etc. rel-2-0 will be the branch that contains releases 2.0.0, 2.0.1, 2.0.2, etc.
At the same time, the main trunk of CVS will contain the unstable branch of Koha code. This will contain the most recently developed code, and will also be the most likely to be broken at any given time. When you are checking out Koha code from CVS, be careful that you check out the stable branch if that is what you are looking for. By default a CVS client will check out the trunk branch, which will always be the unstable branch.
Within each branch, there will be tags
that mark the location of particular releases. In the rel-1-2 branch, for example, there will be tags marking 1.2.1, 1.2.2, and 1.2.3. There may also be tags marking release candidates although I (steve) tend to remove them after major releases have occurred.
There are three cvs modules in the Koha CVS hierarchy:
The location of files in CVS will never exactly match their final location in an installed copy of Koha. There is a script in CVS called “buildrelease” that will take the CVS files and create a tarball that can be used to install Koha. In the rel-1-2 branch, this file is in the root of the 'koha' CVS module. In the main trunk, it has been moved to the misc subdirectory in the 'koha' CVS module.