ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

The ChiliProject Repository

The main ChiliProject is hosted on GitHub: https://github.com/chiliproject/chiliproject

Some of the individual developers' repositories are:

Branch Naming Convention

The ChiliProject repository has 3 main long lived branches; stable, master, and unstable. Additional short-lived branches will be present from time to time.

stable

This branch will only contain released versions and should be safe for use in production

master

This branch contains the latest stable version plus bugfixes/non-breaking changes that will be included in the next minor version. It should be pretty stable but not as stable as stable. All development should start from here and minor release branches should be created from here.

unstable

This branch is the integration branch for the next major release, it contains a reasonably recent version of master plus feature branches from the developer repositories. Branching from this branch should be needed only if you rely on pending work that has not yet been merged to master. The goal of this branch is to merge all feature branches together to prepare the next major release. When the code on this branch is stable enough, it is synchronized with the master branch, the next major release branch can then be created from here.

release branches

Short-lived release branches are created off of master (minor releases) or unstable (major releases) prior to release for final tests, documentation, version bumps. Those are named release- followed by the version tag as per SemVerTag, for example release-v1.1.2. If some intermediate versions are needed before fully releasing, for example Release Candidates, those versions should be git tagged accordingly, for example v1.1.2-RC1, no new branching or merging is necessary at that point. When the code is ready to release, the branch is merged into the stable branch, the merge commit tagged accordingly (v1.1.2), after that the branch should also be merged back into master to get last-minute fixes into master, the branch can then be deleted.

Branch stability

stable is more stable than master which is more stable than unstable.

workflow_web.png (27.5 kB) Holger Just, 2011-01-30 06:05 pm

workflow.graffle - OmniGraffle source of the branch model infographic (246.6 kB) Holger Just, 2011-02-03 04:57 pm