This is an old revision of the document!
The master branch of the Batphone Git repository contains all the commits from which were built all the public releases of Serval Mesh, ie, all versions of the source code which are identifiable by a version number.
The master branch is not used for development or debugging. That activity is performed using the Batphone Git development branch or feature branches.
The HEAD of the master branch is the source code of the most recent Release procedure and is tagged with the release's version number. The following Git command performed in an up-to-date Git clone of the Batphone repository will always reveal the latest release or release candidate:
$ git describe origin/master 0.91 $
Each released commit on the master branch is tagged with its version number, for example 0.08, 0.90. Every release tag must be annotated, otherwise the Git describe command will not produce the correct result.
$ git tag --list -n1 | egrep '^[0-9]+\.[0-9]+(\.[0-9]+)?\s' ... 0.08 release 0.08 0.90 0.90 Release Version 0.90.1 Update 0.90.1 tag to fix broken links in release notes 0.91 Release 0.91 ... $
The Release procedure gives instructions for creating release tags.
Some commits on the master branch may be tagged as release candidates, which have names of the form version_number .RC candidate_number, eg,
1.4.RC2. These tags may not coincide with release tags (see above) or with each other. Every release candidate tag must be annotated, otherwise the Git describe command will not produce the correct result.
$ git tag --list -n1 | egrep '^[0-9]+\.[0-9]+[.-]RC[0-9]+\s' ... 0.08.RC1 Release Candidate 0.90.RC1 0.90 Release candidate 0.91.RC1 0.91 Release candidate 0.91.RC2 0.91 RC2 ... $
The Release procedure gives instructions for creating release candidate tags.