Skip to content

Branch naming rules

Alexander Vieth edited this page Feb 16, 2024 · 16 revisions

ManiVault is a multi-platform application, and therefore the CI builds on multiple platforms.

If your plugin depends on a specific ManiVaultStudio/core version, this dependency has to be made explicit in the plugin branch name.

Rules for naming feature branches

I want to develop a common feature that changes the core and one (or more) plugin(s) simultaneously

Example with core, plugin_a and plugin_b - use synchronized feature branchnames:

Repository Branch name
ManiVaultStudio/core feature/<new_feature_name>
ManiVaultStudio/<plugin_a> feature/<new_feature_name>
ManiVaultStudio/<plugin_b> feature/<new_feature_name>

I want to develop a new plugin feature without altering the core:

Repository Branch name
ManiVaultStudio/<your_plugin_name> feature/<new_feature_name>

Note: In this case the latest version of the core on master/main will be used as the core dependency in CI

I want to develop a plugin feature for a specific core version (without altering the core):

Repository Branch name
ManiVaultStudio/<your_plugin_name> feature/core_<core_version>/<new_feature_name>

Example: ManiVaultStudio/ScatterPlotPlugin:feature/core_0.1/add_selection_tool

Rules for release branches

I want to release a specific version of the core:

Repository Branch name
ManiVaultStudio/core release/<core_version>

Example: ManiVaultStudio/core:release/0.1

I want to release a specific version of a plugin:

Repository Branch name
ManiVaultStudio/<your_plugin_name> release/core_<core_version>/<plugin_version>

Example: ManiVaultStudio/ScatterPlotPlugin:release/core_0.1/1.0