Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Current »

A separate GitHub repository is created to manage each openIMIS component, e.g:

  • web_app_v

  • web_service_vb

  • rest_api_c-sharp

  • etc

The naming of repository is based on the template: "component name"_"programming language / technology".


We use the Gitflow Workflow, which was first published in 2010 in a blog post from Vincent Driessen at nvie. We have extended this workflow to include country specific version of the component managed through the repository. 



Using the Git branching features, each of these repositories will have a main branch (old master branch - the latest stable version or production release) and a separate branch for each development phase.

All developments are be done in the develop branch.

Each new feature are developed in its own branch and then integrated into the develop branch.

When enough features are available, a release branch is created from the develop branch. Only bug fixes can be added from this point to the release  branch, which will also be merged into the develop branch. 

As soon as a release is ready, it will be merged into the main and will be tagged with a release number.

In case a bug has to be fixed quickly into the production release (main branch), a hotfix branch is created. This branch is merged directly into the main branch and into the develop branch. The main branch will then be tagged with an updated version number. 

After each official release and update of the main  branch, the new features/bug fixes will be integrated into the countries specific develop branches, adapted and tested against implementation's specific requirements before releasing for the country. 

To easily manage git workflow, here are some tools: 

Naming convention will be established for branches and commits. Every commit should have an author and a short description. The naming and format conventions will be discussed during the Developers Workshop. 

In addition with the generic version of openIMIS, one can have a country/implementation specific branches that are similar to the generic version. The naming convention for these branches is implementation/<name of implementation>/<name of branch | develop | main >

  File Modified


  • No labels