delorie.com/archives/browse.cgi | search |
On Wed, 20 Jan 2016 14:58:25 -0500 DJ Delorie <dj AT delorie DOT com> wrote: > What I don't want is to make it so difficult and/or expensive to get > work into master, that work never gets into master. We need to be > willing to accept *some* risk in order to promote progress. I still think the way to do it is with feature branches and an "unstable" branch. Make it work in the feature branch (name your feature) that is kept up to the latest unstable until it is merged .. then ask the question "is this ready???" Then when it is, merge to unstable, which should be a simple merge, probably a "fast-forward" merge where it becomes the unstable branch. Then let it cook for a few weeks. When unstable is stable, it becomes master. The delay getting into master happens when the contributor of the new code lets it sit unfinished or with known bugs. If this code were merged to master, maybe it would never get fixed, maybe somebody else would get annoyed enough with it to fix it. Do these premature merges often over many years, it ends up a big mess, and "bug squashing" becomes the hot thing to do in code sprints. With a little more testing up front, the original contributor should fix his own bugs before moving on, and code sprints can focus on adding new functionality. Chasing pointer bugs in somebody elses code is not my idea of fun, but I have some procedures for doing it that really work. So take your pick, but know what you are choosing.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |