Make a cleaner branching and release strategy


Currently, it is unclear for contributors which branch to target when making pull requests. I suggest that some time is taken to rework the Git repositories branches and put in place a "standard" git branching model. I suggest that GitFlow would be most suitable. This would involve two long lived branches:

  • Master (always the latest official release)

  • Develop (upcoming development)

All other branches would be temporary. Branch types:

  • hotfix: for patching the latest stable release, gets merged into master and tagged once complete (triggering a release)

  • feature: for individual tickets/features. These are almost always branched from master and worked on - then merged into either a hotfix or release branch pending official release. Removed once released.

  • release: for upcoming release lines. No work is done directly in the release branch, but has work merged into to it from features. When the release is ready, it is merged into master (and then develop), tagged and a build is triggered. Used for major releases.

Once done, the user contribution guide in the documentation should be updated to suggest that pull requests should target the master branch always (and explain Lucee’s branching strategy, whatever that is).




Dominic Watson