Channels ▼


Perforce Puts Version Management Into Contextual Context

Perforce has brought a codeline management workflow tool called Perforce Streams to its version management system. Intended to provide a "branch-and-merge" strategy to guide programmers through iterative development environments, the new enhancement sets out to organize project modules (such as software libraries) and the policies that govern their workflow.

Providing some color to quantify and qualify this "module organization" function, Perforce explains that each "Stream" is a database object that contains metadata about a branch — its location in the depot, its parent branch, its stability (such as release or development), and more. This "contextual information" will potentially make branching behavior more intuitive and visual, ensuring that change flows in the right direction, in the right order.

"We may not have invented streams, but our approach takes them to a new level," said Randy DeFauw, technical marketing manager for Perforce Software. "Our model implements best practices for codeline management that we've championed for over a decade. With the addition of Streams, developers gain tools to implement fast Agile development while guaranteeing the high performance and unlimited scalability our customers expect."

Users can quickly switch from one branch to another in a single workspace. Only the files that differ between the two branches are updated, making the process very efficient. In addition, a stream can easily be moved to a new parent, providing additional flexibility for rapid development workflows.

The Stream view captures and defines the composition of a Stream, including:

  • the level of sharing between Streams;
  • the modules that are being actively developed;
  • the modules that are available from a parent stream for read-only use; and,
  • which dependencies are imported from other parts of the repository.

Once a product architect has defined the Stream view, that information is inherited by child Streams and by the users working in the Stream. Workspaces are created and updated automatically based on the Stream view. New child Streams are created with minimum configuration.

According to Perforce, "The information in the Stream model is used to build powerful visualization tools such as the Stream Graph. The Stream Graph provides a quick overview of the Stream model, visual cues for pending merges, and easy access to branching tools. Simple drag-and-drop operations make switching between Streams, for example from development of a new feature to maintenance in a released product fast and easy to use."

Developers can choose to work using either the Streams framework, taking advantage of the built-in models and tools, or they can continue to work with classic Perforce branching as they always have.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.