Automated merging isn’t perfect. Just because there isn’t a line-edit conflict doesn’t mean there isn’t a syntactic conflict, and that doesn’t mean there isn’t a semantic conflict.
Does anyone have strategies for authoring low-conflict changes? Is this something that falls out of TDD or other approaches (Certainly TDD will help catch them, but does it actually prevent)?
Classes that violate the single responsiblity principle are the hardest to merge. Finding a class that was difficult to merge probably is a sign that it needs to be refactored, probably in the direction of more parts.