Schema

This page describes what kind of schema is manage by this software.


Context

The managed system is composed of modules.
There is only one version deployed and used at any time.
In provided example schema file, the system contains 8 modules (Alpha, Beta, Gamma, Delta, Epsilon, Dzeta, Eta and Theta).
Into a Configuration Management System, each module has its own root branch (also called "main-line").

Several projects can be developed at the same time. In provided example, we see seven projects (Opal, Amethyst, Topaz, Ruby, Diamond, Sapphire and Emerald).
A project can concern one or more modules (main-lines).
When a project development is started, a branch is created from each concerned main-lines. By default, a branch is started at project start date. But it's also possible to start one at a specific date after.
On the managed branching schema, all branches of same project (under concerned main-lines) have the same color.
When a project is delivered, each related project branch is converged to the related main-line (Production delivery), or to an other active project (Merge of two projects). If delivery is done on main-lines, "rebase" operations (code merge) have to be performed on each other project branches currently in development. These merges are automatically detected by this software, as it's one of its goals ;-)
You can choose to disable some rebase operations, but if there is no other rebase planned to be done before project delivery, a "delivery problem" will be detected as in this case you can overwrite source code and loose updates...

This version is limited to one branch level (No sub-branch can start from an already started one). i.e. branches can only start from a main-line.

By default, the file named "BranchingSchema.xml" is loaded from the current execution directory.
The version permits you to edit the schema completely, or create a new one.

You can edit your schema by right clicking on a component to bring up a contextual menu:

Finally, you can also have more information on schema elements by clicking on them with the left mouse button:

Example

Here is an example of a complete schema.

Schema example 1



And here is the same schema displayed with a date filter (option "View -> Filter on dates") between June 3rd and July 6th.
Please note the calendar icon on the top left that indicates a date filter is currently active:

Schema example 2


Legend

Legend