M martinfowler.com Patterns for Managing Source Code Branches 98 points caution 6 years ago 11 comments