Share on Facebook Share on Twitter Email
Answers.com

Branching

 
WordNet: branching
Note: click on a word meaning below to see its connections and related words.

The noun has one meaning:

Meaning #1: the act of branching out or dividing into branches
  Synonyms: ramification, fork, forking


The adjective branching has 2 meanings:

Meaning #1: having branches
  Synonyms: branched, ramose, ramous, ramate

Meaning #2: resembling the branches of a tree


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
Wikipedia: Branching (software)
Top

Branching, in revision control and software configuration management, is the duplication of an object under revision control (such as a source code file, or a directory tree) so that modifications can happen in parallel along both branches.

Branches are also known as trees, streams or codelines. The originating branch is sometimes called the parent branch, the upstream branch (or simply upstream - especially if the branches are maintained by different organisations or individuals), or the backing stream. Child branches are branches that have a parent; a branch without a parent is referred to as the trunk or the mainline.[1]

In some distributed revision control systems, such as Darcs, there is no distinction made between repositories and branches - so in these systems, fetching a copy of a repository is equivalent to branching.

Branching also generally implies the ability to later merge or integrate changes back onto the parent branch. Often the changes are merged back to the trunk, even if this is not the parent branch. A branch not intended to be merged (e.g. because it has been relicensed under an incompatible license by a third party, or it attempts to serve a different purpose) is usually called a fork.

Contents

Motivations for branching

Branches allow parallel development[2]. Large projects require many roles to be filled: developers, build managers, quality assurance personnel, contribute to the project. Multiple releases must be maintained, and more than one platform (with specificities in the codebase) may have to be supported. Branches allow users to isolate changes (for example, fixes for bugs, new features[3], versions integration) without destabilizing the codebase, and later resynchronize these changes after testing.

Development branch

A development branch or development tree of a piece of software is a version that is under development, and has not yet been officially released. In the open source community, the notion of release is typically metaphorical, since anyone can usually check out any desired version, whether it be in the development branch or not. Often, the version that will eventually become the next major version is called the development branch. However, there is often more than one subsequent version of the software under development at a given time.

Some revision control systems have specific jargon for the main development branch - for example, in CVS, it is called the "MAIN". A more generic term is "mainline".

Shadow

In cvc, an open source package building system (incorporating a simple revision control system for packages) produced by rPath, a shadow is a type of branch which is designed to "shadow" changes made in the upstream branch, to make it easier to maintain small changes.

See also

References

External links



 
 

 

Copyrights:

WordNet. WordNet 1.7.1 Copyright © 2001 by Princeton University. All rights reserved.  Read more
Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Branching (software)" Read more