CVS and file releases
From XtConcordia
| Table of contents |
About CVS
CVS [Concurrent Versions System (http://www.nongnu.org/cvs)] is a tool used by many software developers to manage changes within their source code tree. CVS provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of CVS is particularly common on projects with multiple developers, since CVS ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree. XtConcordia's CVS repository is stored on the [SourceForge.NET (http://www.sourceforge/net)] CVS server.
How to access CVS
Public access
Our CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. The module you wish to check out must be specified as the modulename. When prompted for a password for anonymous, simply press the Enter key. The following two modules are available:
- concordia
- themes
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/concordia login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/concordia co -P modulename
NOTE: UNIX file and directory names are case sensitive. The path to the project CVSROOT must be specified using lowercase characters (i.e. /cvsroot/concordia)
Developer access
Only project developers listed on the [SourceForge.NET (http://www.sourceforge.net/projects/concordia)] website can access the CVS tree via this method. If you think you should have developer access to our CVS repo, feel free to contact us.
A SSH client must be installed on your client machine. Substitute modulename and developername with the proper values. Enter your site password when prompted. Developers are encouraged to make use of shared SSH keys for authentication.
export CVS_RSH=ssh cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/concordia co -P modulename
Web-frontend
Though CVS repositories are most commonly accessed using a special piece of software called a CVS client, we also provide a web-based interface to view CVS repositories. Browsing the CVS tree gives you a great view into the current status of this project's code. You may also view the complete histories of any file in the repository. Our CVS repository can be browsed via the [web-based CVS repository viewer (http://cvs.sourceforge.net/viewcvs.py/concordia)].
CVS modules
Currently we have two modules present in our CVS repository being:
- concordia: main code with default theme
- themes: additional themes
File release procedure
CVS branches
The concordia modules is split into two different branches:
- main branch
- stable branch
The idea behind this is very simple. We start with a new release which uses the code from the main branche. At this point, a new stable branch is created (the previous one will be left alone being obsolete). Bugs are fixed inside this stable branche while new features will be added into the main branche. Depending on the amount of fixed bugs, a new stable release will be created. Bugfixes made inside the stable branche will be merged back into the main branche.
Non-branch tags
- Release_1_0_0 (in MAIN from where the new STABLE starts)
- Release_1_0_x (in STABLE for each release)
- Merge_xxx (in MAIN when merging bug fixes from STABLE to MAIN)
Branch tags
- STABLE_1_0
Version numbering
Commercial software vendors mearly use version numbering as a marketing strategy. In fact, the numbering of our software isn't something special. The only important thing to say is: stay up-to-date. If your are not a developer, the latest stable release is your goal !
The version numbers which are put on our file release names have three numbers in the form of 1.2.3. The first number is incremented on major implementation changes. The second number is incremented when we start a new stable branch. Finally the last number is incremented each time we create a new file release in the stable branche.
Filenames
Filenames of all releases follow the same naming convention: concordia-1.0.1 (using the version numbering as described above)
Graphical representation
concordia-1.0.1 concordia-1.0.2 concordia-1.1.1
. . .
. . .
,----o-----------------------o----X ,--- --------o----> Stable branches
| . . . | . (STABLE_1_0, STABLE_1_1, ...)
| . . . | .
| . . . | .
--->Rel_1_0_0-------------------------------->Rel_1_1------------> Main trunk
. .
. .
concordia-1.0.0 concordia-1.1.0
Time --->

