Branching Strategies

Branching Strategies

International Authoring Branches - 2020 Six Month Release Strategy

This diagram shows the current (Feb 2020) branching strategy within the terminology server of the Authoring Platform.



All projects promote to and rebase from the MAIN branch. All content on MAIN is included in each six monthly release.

Content can be held back within a project and not promoted but that prevents the content being shared with any other projects and can lead to severe content divergence.

International Authoring Branches - Multiple Cycle Strategy (Rejected)

This diagram shows an alternate branching strategy which would allow groups of projects to have different release cycles.

This strategy has been rejected because: the content team prefer to manage all projects in the same way and not introduce the additional merging and validation which would be required for Staging.



MAIN

Projects containing short well defined tasks promote to and rebase from the MAIN branch as before.
When this type of project promotes the content is considered ready for release.
The MAIN branch can be released frequently. A monthly scheduled release plus the ability to release urgent changes on demand feels right to me.

Staging

The Staging branch provides a place to promote and rebase projects which need a slower release cycle.
These projects need a slower release cycle because they contain changes which are either more complex or just take longer to fully develop.
These projects should still promote and rebase frequently to keep in line with each other.

The Staging branch would be automatically rebased whenever a change is promoted to MAIN.

The Staging branch would only be promoted to MAIN when all the projects on that branch have reached a logical point and are ready.
This could be once every six months. It could be after four months and then not again for seven months.

Cherry Picking

We will probably also need the ability to promote selected concepts from the Staging branch to MAIN but this capability should be used infrequently for small numbers of changes to avoid complexity.



International Authoring Branches - Monthly Release Strategy

This diagram shows the current accepted branching strategy to support monthly releases within the terminology server of the Authoring Platform.

The diagram and branches are exactly the same as the six monthly release strategy. The big difference is that content will not be promoted from projects to MAIN until it has been fully validated, has release notes and is in a releasable state. Project promotion gateways and other tooling changes are being designed to support this.
(Due to limitations in the mapping tooling, mapping work can not start until content is promoted to MAIN.)










Copyright © 2025, SNOMED International