On 1/10/19 6:58 PM, Peter Dimov via Boost wrote:
Robert Ramey wrote:
I'm looking to merge my develop branch into the master so that they will be in sync. I'm thinking that this the changed in develop should be squashed so that the master branch doesn't included all the the intermediate changes made during the develop phase. Is there any boost rule/practice/guidence regarding this?. Ideally, I'd like to see the master have only one set of consolidated changes for each release. But I'm not the person who decides these things or does the work. Any insight by other parties would be appreciated.
My guideline is:
- work that has passed local tests goes into a feature branch - feature branches that have passed CI go into develop - develop that has not broken anything goes into master
That is, develop is not a place for experimentation (or, ironically stated, develop is not for development). The squashing, if needed, happens on the merge from the experimental feature branch into develop, not on the merge from develop to master. Ideally, the merge from develop to master is fast-forward and the two contain the same commits, with master just trailing behind.
Hmm - but then when the CI fails on develop and a few more tweaks are necessary basically to deal with compiler/ci vagaries, this cruft then ends up on the master history. Also, then shouldn't master just be just a tag into the the last passing develop branch? I do think it would be useful for someone to "codify" these practices because a lot of don't know (and don't really want to know) and don't really care which practices to follow and would be happy to follow whatever someone who spends time with this stuff has concluded would be the best way. just my 2 cents. Robert Ramey
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost