On 11/10/23 3:58 PM, Peter Dimov via Boost wrote:
The idea of the current model is that master is the release-ready branch at all times, and develop is the unstable branch that may or may not be in a good state.
Branching off for release from an unstable branch made releases unpredictable, there was no way to tell how long the release branch would take to stabilize.
Right.
In principle we can switch to a model where we have no develop, master is, as now, stable and release-ready at all times (at least in theory), and all development happens on feature branches. This works for independent libraries,
but integration testing has to happen somewhere. Currently it happens on develop (at least in theory.)
If can test the feature branch of one library X against the master branch of all the other libraries before me merge the feature branch into the master, then no "integration testing" should be necessary. Of course, it doesn't quite work that way in practice as some libraries don't test their whole public API and sometimes make a mistake which can break a dependent library. So an "integration test" will have to be done from time to time - especially before release. Fortunately we already have that in the current test matrix. So I support the elimination of the develop branch in Boost. Personally, I would maintain my own develop branch of the serialization library on my personal machine. When it passes all my tests locally I can merge to master. This would be used to small dumb tweaks which are the majority of the changes I make these days. For fixing a real bug or adding something to the API, I'd use the normal feature branch approach. Robert Ramey
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost