Removal of the master
Branch
#2213
Replies: 3 comments 4 replies
-
This sounds a lot like trunk-based development. We recently switched some of our internal projects to this approach. We had the same problem where our I like this change 👍 |
Beta Was this translation helpful? Give feedback.
-
Hmm, we’ve used I don’t advocate for that paradigm with this project, but I did think it was worth noting. I’m a little confused by the “always re-writes” part, because there should be settings that can be used specifically for doing a PR with fast-forward merge within GitHub. OTOH, if thats not working for you, then I definitely side with the sentiment that linear history should not be the difficult path, and adjustments should be made. Around 5 to 10 years ago, there was a general sentiment that software from github gets pulled down from whatever the default branch is and installed on the local box, often times without even considering whether the OS had a packaged version of this same software. I don’t think this fad has persisted, but it did drive a lot of projects to be more conservative about their default branch in order to reduce the number of rando issues coming in on their bleeding edge development branch. As I reason through it, I don’t think F Prime suffers from the social problems, the users fall in a category that is more likely to sort out the difference between tags and development branch. It does bring up the README as a concern though, it needs to be appropriately descriptive with respect to the latest release branch(es), and not develop. That might make updating it more challenging, or necessitate being much more careful about what it contains at all points during the development. |
Beta Was this translation helpful? Give feedback.
-
We will remove the master branch! |
Beta Was this translation helpful? Give feedback.
-
Our F´ master branch only updates when being released. As such, it acts (effectively) as a pointer to the latest release and has no other substantial effect on the over all project.
This has several substantial downsides:
master
that lags behinddevel
is impossible withoutpush --force
as Github always rewrites commits when rebase mergingmaster
requires many locks to prevent commits from being merged there instead of develmaster
reruns all CI checks during a release to ensure that the workingdevel
branch works when effectively renamedmaster
. Note: this is testing the exact same HASHI have yet to determine any upsides to maintaining master.
The recommendation is to remove the
master
branch. We'd merge to devel, and tag releases off from devel. Users wishing stability should still (as today) use a tag. Developers should develop offdevel
.There is one downside identified from this recommendation: as we approach a release, some PRs will not be merged until after the release. This takes place with the master branch already, and would continue to be the case.
Beta Was this translation helpful? Give feedback.
All reactions