We are thinking in implementing Docking Line branching pattern for merging one feature at a time into the staging branch and then, if testing is successful integrating into an stable branch and making a release. The question is the following: Should we make the default branch in mercurial be the stable or the staging branch, since the staging branch is likely to be backed out if the feature doesn't cut it, so developers will have to merge into feature branches from the stable branch and not the 'staging' or docking line.
Either strategy will work, it is a matter of process and taste. If you are looking for examples from other projects, then consider the Mercurial source code itself.
The Mercurial source has two primary branches: default
and stable
.
The default
branch in the Mercurial code is the unstable "staging branch". New features are committed there and tested. If a commit is found to be in error, then it is undone with hg backout
.
Releases are made from the stable
branch. Commits are made to this branch for bug fixes. When release time is near, default
is merged into stable
to pull in all the new features.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With