I am here to request an opinion / suggestion for a Branching Strategy we should implement in TFS.
- We have a Dev branch, Defect fix branch and Release branch.
- Development for the normal requirements normally happen in the Dev branch and release from this branch normally happens once in a month or two.
- The urgent defect fixes normally happens in the Defect fix branch and there will be weekly releases from this branch.
- As part of each release (Defect fix or normal requirements) we merge the changes from the respective branch to the Release branch and create a package from the Release Branch.
As said earlier, we have a weekly defect fix release.
Say, we have changes for 5 defects in Defect fix branch.
4 among the 5 defect fix passed QA (1 defect fix failed at QA) and we want the changes of those 4 defect fixes only to be pushed to the Release branch.
Please note that we have some RDL (SSRS) files also hence there is high chance that the changes made in the file modified for the QA failed defect may also contain the changes for the other QA passed defects also.
Can somebody suggest whether this is achievable and if yes, what should be my strategy for this?