FleCSI’s versioning system uses three branch types (descibed below) that define the purpose and provenance of the code at a particular commit, with tags that label points of interest in the development cycle, e.g,. releases or stable features.
The devel branch is where work on the next major release takes place, potentially with interface and feature changes that are incompatible with previous versions.
Feature branches (named for their major version number, e.g., 1, 2, 3) are for feature development on the current major version.
Release branches (named for their major.minor version number, e.g., 1.1, 1.2) are stable versions of the code base. These can only be modified with bug fixes. At appropriate points, tags (named for their major.minor.patch version number, e.g., 1.1.2) are used to identify patched versions.
At the time of writing, FleCSI has the following branches: