Versioning¶
Branche Types¶
incompatible
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
Feature branches (named for their major version number, e.g., 1, 2, 3) are for feature development on the current major version.release
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.
Tip
At the time of writing, FleCSI has the following branches:
devel (incompatible)
1 (feature)
1.4 (release)
Workflow¶
FleCSI development uses a devel -> feature -> release forking workflow that can be visualized as in Fig. 2. Bugfixes and features can be back-merged into feature or devel, as appropriate.

Fig. 2 Workflow diagram illustrating basic workflow using the three branch types described above. (Figure due to Angela Herring.)¶