I have a question about two source control scenarios, both with feature branches and release branches:
What are the consequences of scenario 2 compared to scenario 1?
What are the possible advantages and disadvantages of both scenarios?
More details of the two scenarios:
Scenario 1 (similar to what is described in this SO-answer):
Scenario 2:
Since branching is all about isolation (see "When should you branch), the difference between the 2 scenarios is the role you want the main branch trunk
to have:
Scenario 2 is more adapted to a static role: trunk
would be the representation of what is in production (and the occasional hot-fixes needed to be merge back to current feature and next-release branch)
Scenario 1 is more suited for a dynamic role: trunk
is the integration for various feature, release branches being made from there to consolidate the features which will actually be part of the next release.