Andrew Williams
2017-07-22 21:22:43 UTC
Hi eflers :)
So after thinking about issue management and planning milestones I thought
more about our source control. We currently have various different models
used but the bottom line is that it all hits master all the time which can
lead to less stability than ideal and also makes stabilisation windows
critical to enforce.
As a suggestion I think we should consider agreeing on a singlet branching
model and I'd recommend GitFlow (described quite well here
https://www.atlassian.com/git/tutorials/comparing-workflows#gitflow-workflow).
As well as being well organised there is a solid gitflow plugin that helps
to manage branches and workflows.
Bottom line: main development moves from "master" to "develop" and master
then remains the most recent release (always stable ;) ). Releases then are
created on a branch rather than being branched after release.
This correlates well with the proposed phab task management - a release
milestone branches off develop as we prepare to release like current
stabilisation. Big feature tasks branch off develop as a feature branch and
the task describing it can be marked resolved when it merges in. Hotfixes
merge into develop and master which makes it easier to ensure we don't
forget to backport fixes :).
Let me know what you think - it's worked quite well in previous groups but
I appreciate it may not for us and I expect there are a lot of experiences
here that could feed in :)
Happy weekend,
Andy
So after thinking about issue management and planning milestones I thought
more about our source control. We currently have various different models
used but the bottom line is that it all hits master all the time which can
lead to less stability than ideal and also makes stabilisation windows
critical to enforce.
As a suggestion I think we should consider agreeing on a singlet branching
model and I'd recommend GitFlow (described quite well here
https://www.atlassian.com/git/tutorials/comparing-workflows#gitflow-workflow).
As well as being well organised there is a solid gitflow plugin that helps
to manage branches and workflows.
Bottom line: main development moves from "master" to "develop" and master
then remains the most recent release (always stable ;) ). Releases then are
created on a branch rather than being branched after release.
This correlates well with the proposed phab task management - a release
milestone branches off develop as we prepare to release like current
stabilisation. Big feature tasks branch off develop as a feature branch and
the task describing it can be marked resolved when it merges in. Hotfixes
merge into develop and master which makes it easier to ensure we don't
forget to backport fixes :).
Let me know what you think - it's worked quite well in previous groups but
I appreciate it may not for us and I expect there are a lot of experiences
here that could feed in :)
Happy weekend,
Andy
--
http://andywilliams.me
http://ajwillia.ms
http://andywilliams.me
http://ajwillia.ms