multiple release branch question
I am new to svn. We are migrating to svn from harvest. We are working on 3 different releases at a time. So we are thinking to make 3 branches by copying over from trunk and parallally work on them. No development will happen on trunk. trunk will hold whatever is in production.
Say we have REL120,REL121,REL122 branches. REL121 is created from REL120 and REL122 is created from REL121. Whenever there is a commit to REL120, we merge that change in REL121 and REL122 whenever there is a commit in REL121, we merge that in REL122
and when we ship REL120 to production, we merge trunk with REL120
Is this a good way of branching? Or something开发者_Go百科 can be improved in this. Please share your thoughts.
Vadiraj
There is no problem with the approach.
Although, I would recommend you to make your merges less frequent and merge the code all the way up to the tree. For Eg;
This is a logical structure of your repository
|- trunk
|- branches
|- Release 120
|- Release 121
|- Release 122
Now, Whenever you need to merge the chanegs of Release 122, they should be merged all the way up to trunk ... First to Release 121, then Release 120 and then to trunk (Considering that Release 120 is branched out from trunk)
Ideally, the merges should go up the tree (from child branches to parent) and not the opposite.
P.S. Is these three releases are not dependent on each other, then there is no need to create such a hierarchy. Just branch then individually from the trunk.
For us, we will always do a branch or more branches from the main trunk. This way when we are done with the branch, then we will merge the branch back to the main trunk. This practice is specify in the svn documentation and you should read it if you are new to svn.
精彩评论