-
Notifications
You must be signed in to change notification settings - Fork 34
Branching Model
Our branching model is heavily inspired by the branching model of Vincent Driessen. There exist three main branches:
This branch should always point to the latest released version.
At best, its HEAD
directly points to the tag from which the latest release was performed, so that building from the master branch always produces the same artifacts that have been deployed to the central maven repository.
Normally, no development should happen on this branch. Instead, only the tags of performed releases should be (incrementally) merged into this branch.
The main branch for development. New (and potentially unstable) features can be pushed here -- either directly by the maintainers or via pull request by external contributors.
The main branch for performing releases.
This branch should always be in a releasable state, such that hotfixes can be pushed (or cherry-picked) directly to this branch and a new release can be rolled out immediately. For performing a new major/minor release, the develop
branch is merged to this branch and the release procedure is performed as usual (see Performing an AutomataLib Release).