First, let me start this off with a branching strategy proposal. This is what we have at work, and I’m happy to hear comments otherwise, and as to why this sucks. But understand that it generally works for us.
We have 1 product. For the sake of this example, lets call it “PRODUCT”. We run 2 concurrent development cycles. A weekly maintenance cycle, where we fix non-pressing bugs, and a bi-weekly sprint. There are 2 branches created from trunk called “Sprint” and “Maintenance”(shocking name choice I know!). Also for urgent/blocker issues, fixes are made directly into trunk and pushed to production after testing.
9 times out of 10 when I try to reintegrate the sprint or maintenance back into the trunk I get LARGE amounts of conflicts. On files that were never even worked on in one of the branches.
So I will issue command: svn merge –reintegrate http://repo/Sprint
and while some files will update, I will have conflicts on files that are EXACTLY identical(via WinMerge). I don’t know what causes these conflicts.
Why does merging have to be so complicated? I just want a solution that will work for what we need.