Branching
|
Branching, in organic chemistry, is when a hydrogen on a polymer is replaced by another chain of that polymer, that is, a polymer that at some point looks like:
/ - - - - - - - < \ - - -
In linguistics, branching refers to the way in which a language constructs phrases with a head (or nucleus) and modifiers (or dependents). See branching (linguistics).
Branching, in Revision Control and Software Configuration Management, is the duplication of an object under revision control (usually a source code file) in such a way that the newly created object has initially the same contents as the version branched off from, and (more importantly) development (creation of new versions) can happen parallelly along both branches.
Branching also generally implies merging, which is the process of copying the differences accrued to an object on another branch to back to the parent branch (usually called trunk).
Branches are created for various reasons, these are covered in depth in the paper "Streamed Lines: Branching Patterns for Parallel Software Development" (http://www.cmcrossroads.com/bradapp/acme/branching/references.html) by Brad Appleton, Stephen Berczuk, Ralph Cabrera, and Robert Orenstein.