3 ms·
Yes, definitely. No software is going to make it easy to rip out any of five or six branches late in development. With five branches, this means that you migh
by mbrubeck 17y ago
Yes, definitely. No software is going to make it easy to rip out any of five or six branches late in development. With five branches, this means that you might ship any of 2^5 == 32 different products, and you don't know which until right before it's released.
Merging late optimizes for the case where no branches are included, but as you've learned it makes it painful for the normal case where all (or most) do ship. Merging early optimizes for the case where all (or most) branches are included, but yes it makes it harder to remove a branch later on. Or you could always maintain each of the 32 possible release branches, and merge each topic branch continually with 16 of them... :)
As a compromize, you can merge frequently from master to topic, but then merge topic back to master only when you are fairly confident in it. (Hopefully this will be early for at least some topic branches, so that any conflicts with other topics can be resolved early.) And I totally agree with the other commenters who suggest shorter iterations and continuous integration.