BranchingModel - TypeCobolTeam/TypeCobol GitHub Wiki

We use the following branching model: http://nvie.com/posts/a-successful-git-branching-model/

Each issue is developed on a separated branch. A Pull Request (PR) is created for each branch. At least one other person must review the PR. The reviewer can make comment on:

  • The implementation
  • The code (eg bad usage of an API)
  • Not enough comment
  • Performance issue

After the review is done and the code is fine. We then look at the history of the commit. If there is too much noise on the commits, the PR is refused.

On his local machine: The owner of the PR, must create a new branch from develop. Merge its branch and rewrite the history with rebase -i. The history is rewritten on a new branch and on his machine before pushing. Then a new PR is made on this new branch.

Example

Original PR: https://github.com/TypeCobolTeam/TypeCobol/pull/1125

And now see the same PR but with a rewritten history: https://github.com/TypeCobolTeam/TypeCobol/pull/1212