Structure, Code, and Files

Links and workflows.

Structure

The repository is structured as follows:

digraph structure {
graph [splines="line"];
node [shape="box", style="filled", fillcolor="2", colorscheme="blues5"];
refereemanager [fillcolor="1"];
refereemanager2 [label = "refereemanager"];
refereemanager -> build;
refereemanager -> docs;
refereemanager -> documentation;
refereemanager -> refereemanager2;
refereemanager -> submodules;
}

Repository Structure.

build
build files for releases
documentation
documentation, especially user, developer, and API documentation
files
released files
refereemanager
eclipse project with sources, ressources and tests
submodules
needed submodules (edgeutils for Ant and JAXB commons`

Git-Repository

The git repository is maintained using gitlab. gitlab is used for code maintenance and issue tracking.

Repository
https://gitlab.com/open-tt/refereemanager/
Issue Tracker
https://gitlab.com/open-tt/refereemanager/issues

The branching model regards to the stable mainline model described in http://www.bitsnbites.eu/a-stable-mainline-branching-model-for-git/.

This means, there is always a stable mainline, the master branch. This branch ist always compileable and testable, both without errors.

Features are developed using feature branches. Special feature branches are used (different from the mainline model) for finalizing releases.

Releases are created as branches of the mainline. Additionally, each release is tagged, tags contain the patch and, if needed, additional identifiers, such as rc1 or beta.

Patches are made in the according release branch. Minor version changes get their own release branch.

Naming Feature Branches (with ticket)

  • feature/tticket number-description
  • feature/t43-stable_mainline
  • feature/t39-use_kotlin

Naming Feature Branches (without ticket)

  • feature/description
  • feature/documentation

Naming Feature Branches for Finalizing Releases

  • feature/release-major.minor.patch[-additional]
  • feature/release-0.15.0
  • feature/release-0.17.0-pre1

Naming Release Branches

  • release/major.minor
  • release/0.15
  • release/1.0

Naming Tags

  • major.minor.patch[-additional]
  • 0.15.0
  • 1.0.0-beta
  • 1.0.0-rc1
  • 1.0.0

Releases

See also: Create a release

Releases are tagged in the git repository:

The according binaries are maintained at sourceforge: