Difference between revisions of "Tags and Branches"
m (Added category) |
m (CVS moved to Tags and Branches: We're not using CVS any more, but the information about Tags and Branches is still relevant) |
(No difference)
|
Revision as of 09:28, 27 May 2009
Please note that most of this information is outdated. Geeklog switched to Mercurial after the release of Geeklog 1.5.1.
Contents
Geeklog 1.x CVS
General information
Tags and Branches
- The CVS main trunk (aka HEAD) always contains the Geeklog version currently under development.
- Once a Geeklog release is made, that version will be tagged so that it is possible to check out the exact version of all the files that were shipped in a specific release.
- Branches are created off of CVS tags for bugfix and security releases, if necessary.
Naming conventions
A CVS tag for a specific release uses the following naming convention:
- geeklog_x_y_zb1 for Geeklog x.y.zb1 (beta 1)
- geeklog_x_y_rc1 for Geeklog x.y.zrc1 (release candidate 1)
- geeklog_x_y_z_stable for Geeklog x.y.z (final release)
After a stable release, there will usually be a branch off of that version. The naming convention for the branch is to attach _1 ("underscore one"), i.e.
- geeklog_x_y_z_1
Tags in the branch then follow the same naming convention as above. Additionally:
- geeklog_x_y_zsr1 for Geeklog x.y.zsr1 (security release 1)
- geeklog_x_y_z_1_1 for Geeklog x.y.z-1 (bugfix release 1). Note the _1_1 postfix to avoid name collision with the branch name.
Checking out
Checking out by CVS tag
To check out a specific Geeklog version, e.g. 1.3.11sr2, use:
cvs -d :ext:devname@cvs.geeklog.net:/cvsroot/geeklog co -r geeklog_1_3_11sr2 Geeklog-1.x
(where devname is the name of the CVS account) or
cvs -d :ext:anonymous@cvs.geeklog.net:/cvsroot/geeklog co -r geeklog_1_3_11sr2 Geeklog-1.x
for anonymous CVS access.
Checking out a branch
Checking out a branch works exactly the same way as checking out by CVS tag, only that you specify the branch name after the -r option.
However, for a branch it is recommended to do a
cvs -q up -Pd
after the initial checkout to get rid of unused / empty directories.
Note that you should never include the A option (e.g. cvs up -PdA) as that would check out from CVS head and mess up your local repository.
Other than that, you can always use cvs up -Pd to receive any changes made on a branch (the -q option only tells CVS to be "quiet" and only print relevant information).
Mercurial
As an experiment during the 2008 Google Summer of Code, we are trying out Mercurial, a distributed version control system.