Planning changes
This page lists best practices that will help you decrease the likelihood of real, contradicting-change conflicts and help make their resolution easier.
Plan collaboration to minimize overlap
Especially for large changes, you should plan collaboration between users in a way that minimizes contradicting-change conflicts. If multiple people are not simultaneously working on the same parts of the same files, you won’t run into conflicts.
Frequently sync feature branches with trunk
You can make conflict resolution much easier and more manageable if you
regularly perform sync merges, to synchronize the feature branch that you
are working on with the trunk.
Refactor on trunk or on a short-lived branch
In general, if you are using the Subversion repository for software development, you should be aware that renaming files, directories and classes may introduce contradicting-change conflicts (typically, tree conflicts) upon merging. Especially if you have many collaborators and many active feature branches.
If a refactoring is necessary that is not directly related to the feature that
you are implementing, it makes sense not to mix the refactoring with your work
on the feature. Do the refactoring on a dedicated short-lived refactoring branch
that you soon merge into the trunk. This way, other developers can sync your
refactoring changes into their feature branches.