Before release a new version of the software, which is a web application, my company creates a release
branch. The QA team tests that branch and reports some issues. Should developers commit the fixing code to that release
branch or a new bugfix
branch that is merged to the release
branch later?
For more details, my company currently use a modify version of gitflow model. We release new version every two week. feature
branches are not merged to the dev
branch but to the release
branch at the beginning of the release process. Developers commit their fixing code to the release
branch to fix issues raised by QA team and these code sometimes introduce new more issues. That is the reason why I think we should have another bugfix
branch.
The bugfix
branch collects all fixes for bugs that are raised from testing the release
branch. After all bugs are fixed, the bugfix
branch is merged to the release
one and the QA team start testing the release
branch another time. The release
branch can be tested several times until there is no bug to fix.
Best Answer
If I got you right, you have the following issue:
Introducing an additional bugfix branch will allow you to defer the immediate delivering of fixes to the QA team. This has pros and cons. On the pro side,
On the con side,
Note, however, even when not using a "bugfix" branch, the QA team does not necessarily get pushed fixes immediately into their local copy. If they want every two days a new "bundle" of fixes, they just have wait two days until they update their local copy of "release" to get the fixes. The difference is: with a bugfix branch, you can keep it under better control of the devs, with a release branch only, the control is probably more at the QA side.
Compare those pros and cons, and decide for yourself which of those two approaches will work better for your team.