Skip to content

Workflow

Anastasiia Horban edited this page Oct 30, 2017 · 1 revision

The development process uses the GIT and the following approach for branches naming:

  • master - is the name of branch with most stable version of code. It have major changes as seldom as possible. Any commit to this branch must be avoided except merge-requests from develop branch.

  • develop - the name for branch that includes all the current features and fixes after testing. It is considered to be stable version, but may contain some issues. Any changes to develop should go through merge-requests.

  • For bugfixes we do use naming fix/NNNN where NNNN is the issue number Features uses name feature/NNNN in the same way as bugfixes.

The development cycle should go from issue creating, creating branch with correct name. After end of development, the source code should be pushed to the remote server under the same name, as the local branch, the pull request should be created to develop branch. After merge to develop branch should be deleted and related issue should be moved to "closed" state.

Commit message (to version control system)

The cardinal rule for creating good commits is to ensure there is only one "logical change" per commit. Include reference to related issue/task and other related artifacts i.e. requirements.

A good commit message should answer three questions about a patch and helps to create good release notes. It should help the future maintainers, say five years into the future, to find out why a particular change was made to the code or why a specific feature was added.

  • Why is it necessary? It may fix a bug, it may add a feature, it may improve performance, reliability, stability, or just be a change for the sake of correctness.

  • How does it address the issue? For short obvious patches this part can be omitted, but it should be a high level description of what the approach was.

  • What effects does the patch have? (In addition to the obvious ones, this may include benchmarks, side effects, etc.)

Write your commit message in the imperative: "Fix bug" and not "Fixed bug" or "Fixes bug."

Additional details and explanations for commit messages

Clone this wiki locally