Branchless Development

For an open source project, branching is counter intuitively antisocial. For instance, I usually tell people I’m running OpenBSD, but that’s kind of a lie. I’m actually running teduBSD, which is like OpenBSD but has some changes to make it even better. Of course, you can’t have teduBSD because I’m selfish. I’m also lazy, and only inclined to make my changes work for me, not everyone else. But eventually the effort involved in maintaining my secret branch exceeds the effort necessary to fine tune my changes and integrate them back into the main source tree. To the extent that tooling may help me maintain a branch, it facilitates antisocial development and hoarding.

This point makes zero sense as far as I can see, unless I'm missing something.

Here's what I don't understand: why would it matter if I maintained a patchfile vs using a branch? What it comes down to is that A) I want the latest changes, so B) I have to merge in the differences either way, whether I rebase, merge, or just reapply the patch file and fix shit.

If the assertion is that, well, CVS is just so fucking awful at handling that workflow, because we think that workflow is wrong and we don't encourage it, then you're inclined to get them upstream much faster! OK, then maybe that's true.

But just say that, don't wrap it up in some 'antisocial' nonsense. The problem is the 'antisocial' aspect is based on some complete hypothetical straw man, who apparently - because they use Git or whatever - decides it's simply easier for them to never try and get things upstream. Of course, we can't talk to that straw man, because he only exists in Ted's head, so of course he's always going to do the 'antisocial thing' and he definitely wouldn't have if you used CVS and no branches!!!

/r/programming Thread Link - tedunangst.com