Can anyone recommend workflow/use patterns that reduce the cost/complexity of merges when using Agile with SVN?
I know that use-git is an answer, but I'm trying to figure out how to solve my problems process wise where I am before throwing a new tool into the mix because I don't have the cycles to handle the disruption at present.
We have recently switched from an unstable trunk model with maintenance and stabilization branches off of trunk to stable trunk with feature branches. We have trunk with older maintenance branches for sustaining and newer team branches with feature branches off of them.
Team develop features and push them to the team branch and then up to the trunk. Sometimes the features are also merged between feature branches. We run into some issues with tree conflicts (especially when a changeset is pushed both to trunk and to another feature branch).
When we need to move changes over to sustaining maintenance branches or pull changes from them to trunk it is very difficult. The trunk and the maintenance have drifted quite a bit.
The merges are getting in our way and I'm trying to determine if there's some process problem where we are cutting against the grain of SVN and causing problems. I'm looking for a better branch management strategy that reduces the effort.
Can anyone recommend good articles, strategies or tools?