A Branching/Merging Strategy for Parallel Software Development
In many software configuration management (SCM) systems, branching and merging are fundamental operations, supporting isolation and integration (respectively). Unfortunately, the obvious branching and merging strategies have unpleasant consequences. This paper presents a less obvious branching and merging strategy, for parallel software development, which does not suffer these consequences. In particular, it presents a way of updating an active branch from a new baseline. This strategy can be described as “merging at a label.” It has been successful at managing unnecessary branch proliferation and change isolation in an industrial SCM environment.
Buffenbarger, Jim and Gruell, Kirk. (1999). "A Branching/Merging Strategy for Parallel Software Development". System Configuration Management: 19th International Symposium, SCM-9 Toulouse, France, September 5–7, 1999 Proceedings, 86-99.