Re:Branchless development
by OldSchoolPro on Sunday July 19, 2015 @12:50PM
(#9911766)
Heh, there's always opposition to new practices. Branching has been mainstream for a long time, it's only fair to expect resistance to any alternatives.
Give it a few years and everybody will use feature switching, except the old man enterprise dev :)
There are a million things that feature switching let's you do. Enable and disable instantly, enable for .00001% of the users, integration test different combinations, etc.
https://secure.phabricator.com/book/phabflavor/article/recom...
In my experience, branching has only been mainstream since git became popular a couple of years ago. Before that, when using svn and other similar systems, branching per feature was unlikely in my experience and a major pain.
Branching is very well supported in Subversion. There is a reason feature branches occupy a large part of the SVN Book.
I would say feature branches were mainstream usage of CVS too, but SVN made it more popular because merging is more effortless.
Github probably popularized it, because they put a web interface on it (which is great), but that can be said for a lot of things.
To me, the ability to have logical separation of the features being built and do meaningful code reviews far outweighs any proposed speed benefits of not branching, benefits that I assume show up only in larger groups as they certainly don't show up in small groups. Which bring me to my last point, the "slow is fast" section, which doesn't provide any evidence that slow is fast. Other than users not having to decide which branch to run (which takes all of two seconds, BTW), development is much faster with feature branches and the other negatives do not show up in my experience. What I'm trying to say is that "fast is fast." Slow is not fast and the author doesn't make his point there either.
tl;dr: All in all, he points to no actual pros to branch-less development.