Could you please suggest an article, a book, or a conference paper about possible problems a software team may experience with branching in version control environment? We’re creating a summary for one of our sponsors, and need to quote respectable sources of information. So far I’ve found short reviews by Chris Birmele and Eric Sink.
Thanks in advance!
ps. The article Branching Patterns for Parallel Software Development by Appleton et. al looks fundamental, but rather old.
As mention in Martin Fowler’s Bliki, FeatureBranch can have their issue with semantic conflicts.
See example of semantic conflicts in this SO question.
Once that is taken into account, you need also to differentiate CVCS and DVCS (Centralized vs. Distributed VCS), as a DVCS will bring an orthogonal dimension to branching: “publication” (push/pull to/from remote repositories, meaning you can work on the “same” branch, while still being in complete isolation because you are working on a local cloned repository).
CVCS like SVN have their own issues with merging branches, which DVCS are supposed to be very good at.
See also “When should you branch?“