master and develop branches
Could someone point me to documentation on management of the master and develop branches for committers? boostorg/uuid master ends at Jan 11. boostorg/develop has a bunch of stuff in it starting on August 3, 2017. Who is responsible for merging develop into master and when should that happen? Some of the issues are already marked resolved with a milestone of 1.66.0 but they are not in master, only develop. Should pull requests on github go directly into master? I find it confusing to have both and would prefer if there was only one possible destination for pull requests on github. If there are two, someone has to keep one of them updated and that isn't very efficient. Thanks, Jim
James E. King, III wrote:
Could someone point me to documentation on management of the master and develop branches for committers?
We follow a variation of the "gitflow" development model. Development occurs on the "develop" branch, and when a stable state is reached, the changes are merged to "master". Releases happen from "master". Ideally, you would start from a state in which master and develop are identical, then commit to develop, then occasionally issue "git merge develop" from master.
boostorg/uuid master ends at Jan 11. boostorg/develop has a bunch of stuff in it starting on August 3, 2017. Who is responsible for merging develop into master and when should that happen?
The maintainer is responsible.
Should pull requests on github go directly into master?
No, pull requests always go into develop, by convention.
On 09/07/17 22:07, James E. King, III via Boost wrote:
Could someone point me to documentation on management of the master and develop branches for committers?
I'm not sure if there is any document for git; I've only found the outdated version from the svn days: https://svn.boost.org/trac10/wiki/DeveloperChecklist It mostly applies if you replace trunk -> develop and branches/release -> master. So your development typically happens in your branches or develop (for smaller changes). The develop branch gets tested, you can see the results here: http://www.boost.org/development/tests/develop/developer/summary.html When your changes are thoroughly tested in develop (i.e. the tests detected no regressions) you can then merge them to master. Master is also regularly tested: http://www.boost.org/development/tests/master/developer/summary.html Note that if your changes depend on changes in other libraries, you should generally check that those changes were merged to master before merging yours. If they are not merged for a long time you can ask the maintainers to merge them (usually through a PR on GitHub). Boost releases are made from the master branches of all projects. The master branch is frozen during the preparation of a release, which is usually announced on the ML. You should avoid merging develop to master during the freeze.
boostorg/uuid master ends at Jan 11. boostorg/develop has a bunch of stuff in it starting on August 3, 2017. Who is responsible for merging develop into master and when should that happen?
The library maintainer is responsible for the merges.
Some of the issues are already marked resolved with a milestone of 1.66.0 but they are not in master, only develop.
If they have passed testing, they can probably be merged to master.
Should pull requests on github go directly into master?
No, all pull requests (PRs) should only go to develop. As do all your own changes. Only after being tested in develop they can go into master.
I find it confusing to have both and would prefer if there was only one possible destination for pull requests on github. If there are two, someone has to keep one of them updated and that isn't very efficient.
The reason for having develop as the bleeding edge is to keep master as stable as possible and always ready to release. It is nearly impossible to release more than a hundred libraries in a Boost release if active development happens on master. Therefore always merge PRs to develop, never into master. Only merge develop into master, after testing is done.
On 9/7/2017 3:07 PM, James E. King, III via Boost wrote:
Could someone point me to documentation on management of the master and develop branches for committers? boostorg/uuid master ends at Jan 11. boostorg/develop has a bunch of stuff in it starting on August 3, 2017. Who is responsible for merging develop into master and when should that happen? Some of the issues are already marked resolved with a milestone of 1.66.0 but they are not in master, only develop.
Should pull requests on github go directly into master? I find it confusing to have both and would prefer if there was only one possible destination for pull requests on github. If there are two, someone has to keep one of them updated and that isn't very efficient.
I want to add to the other replies that Boost regression testing matrixes are available for both 'develop' and 'master' at http://www.boost.org/development/tests/develop/developer/summary.html and http://www.boost.org/development/tests/master/developer/summary.html respectively. Of course if you are using Travis and/or Appveyor you can pay attention to that also.
Thanks,
Jim
participants (4)
-
Andrey Semashev
-
Edward Diener
-
James E. King, III
-
Peter Dimov