(2022-02-15) Hill The Baseless Critique Of Living Branchlessly

GeePaw Hill: The Baseless Critique Of Living Branchlessly. The idea behind branching is that it provides advantages in situations where a code change is large. The idea behind non-branching is not to enter those situations. These two views seem very difficult to reconcile. (trunk-based development)

The price is that you have to learn and use the various ways to prevent parts of head from being exposed to the user. These include things from feature-toggling (feature toggle) to code re-organization, with many small patterns mixed in, like strategy and abstract factory. It’s a lot of technique to learn, and hence the price. (i know of orgs who try to solve all this with one technique, but it doesn’t work.)

A third critique of living branchlessly is that it doesn’t let us hierarchicalize — org-chart-ify — testing & development & auditing. Here we meet the ol’ geepaw at his most annoying: "that’s not a critique." the separation of responsibilities idea was always classic idols of the schema. Looks good on powerpoint, does not work well at all.

When we ship a defect in the non-branching world, we respond to it in steps designed to disable that kind of defect forevermore. We don’t fix the defect and keep moving.

I live without branches. I recommend strongly that everyone do so. Key insight: don’t make large code changes, and you won’t need branches.!’


Edited:    |       |    Search Twitter for discussion