diff --git a/README.md b/README.md index b335231a57940f300118fc4ee3a9ef411502e489..7a0c3f4c3bf8ed728b00d51170916edae327ff60 100644 --- a/README.md +++ b/README.md @@ -38,3 +38,18 @@ https://swagger.io/tools/swagger-codegen/ https://swagger.io/docs/open-source-tools/swagger-codegen/ +# Branching Policy +Distributed version control systems like Git offers developers great flexibility to share and manage code. But a branching policy is crucial to collaborate more easily while keeping track of releases with bug fixes. + +We consider 5 categories of branches: +- **develop**: collects the different features. While it is recommended that this branch be as stable as possible, each commit is not considered as a release, but much more as a pre-release. +- **feature**: dedicated to the development of features (named ***feature/*** *featureName*). These feature branches allow to share code among developers working on a common feature. When a feature is implemented, it must be tested before merging it to the develop branch with a pull request. When a feature branch is merged into develop, it must be suppress from the reposiory. It is recommended that the develop branch be merged into the feature branches on a regular basis to avoid any drift. +- **master**: corresponds to the last version of stable code. The develop branch is merged in the master branch when a release is ready. Bug fixes from release branches are also merged is the master branch when useful. +- **release**: dedicated to the releases. One branch per minor version release must be created (named ***release/*** *major_minor_patch*), and a tag must be set. When a bug is fixed on a release, it should be merge is the release branch. Then a new tag is created by increasing the patch digit of the release version. +- **bug**: dedicated to the bug fix of releases (named ***bug/*** *bugID*). + +Branching strategy + + + + diff --git a/doc/images/branchingPolicy.png b/doc/images/branchingPolicy.png new file mode 100644 index 0000000000000000000000000000000000000000..75597a218085e89d3a798c99497b080091f4e03c Binary files /dev/null and b/doc/images/branchingPolicy.png differ