changeset 1165:32b4d324fd98 worklowdocs

Add some text about the branch model
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 07 Dec 2022 21:42:18 +0100
parents 74c09b5f63eb
children 6970bffad843
files WORKFLOW.md
diffstat 1 files changed, 23 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/WORKFLOW.md	Tue Nov 29 22:34:16 2022 +0100
+++ b/WORKFLOW.md	Wed Dec 07 21:42:18 2022 +0100
@@ -1,5 +1,27 @@
 # Branch model
 
+The `default` branch contains stable code and the goal is that all tests should be passing on this branch. Version of the code are marked with mercurial tags. Changes in the code are developed in named branches which are closed and merged into `default` when the code is ready. During development merging `default` into the development branch is encouraged to avoid complicated conflicts.
+
+Branches are named using slash separated keywords. The first keyword describes the type of change being pursued in the branch. Important type keywords are
+ * feature
+ * bugfix
+ * refactor
+Further keywords may describe where, e.g. what sub package, the change happens. The last keyword should describe the change.
+
+## Merging a branch into `default`
+The changes in a branch has been reviewed and deemed ready to merge the branch is closed and then merged.
+
+Before merging a development branch, `default` should be merge into the development branch to make sure the whole state of the code is reviewed and tested before it ends up on `default`.
+
+With the development branch active the following commands can be used to complete the merging of a development branch.
+```shell
+hg merge default
+hg commit --close-branch -m "Close before merge"
+hg update default
+hg merge development/branch
+hg commit -m "Merge development/branch"
+```
+
 # Review
 
 ## Checklist for review
@@ -9,6 +31,6 @@
 * Search and check REVIEWs
 * Review code
 * Review tests
-* Review Docstrings
+* Review docstrings
 * Render Documenter and check docstrings in browser
 * Run full tests