Perforce Streams provides a new way of implementing and enforcing codeline policy and visualizing codeline relationships and the flow of change across codelines.

You've probably heard streams described as branches with brains, but what does that mean?

Under the hood, a suite of metadata, additional commands, and a new set of GUI widgets provide the brains behind streams. Compared to Classic Perforce, where the only thing you really know about a branch is its position in the directory hierarchy, with streams, information in the stream metadata allows you to see the relationships between streams, provides guidance on propagating changes across streams, and streamlines the process of creating and switching workspaces.

From a Perforce administrator's perspective, streams facilitates implementing and enforcing codeline policy with easy-to-use, out-of-the-box configuration options that can dramatically reduce the reliance on external triggers and scripts commonly used to control what users can do within a codeline.

From a user's perspective, the P4V Stream Graph helps a user understand the workflow required to propagate changes across codelines, provides visual indicators when changes exist in related codelines, and encourages users to follow best practices when working within the codeline hierarchy.

Perforce Streams is most suitable for small to medium sized organizations that are new to Perforce or those organizations that have not yet established a robust codeline policy and associated workflow. Streams primary benefits are ease of use and higher productivity among the user base and reduced administration duties related to creating and enforcing codeline policy and managing workspaces.

For instance, with streams, you won't have to:

 

design a branching strategy of your own

craft your own tools to generate client specs for users based on project attributes

write command wrappers to use appropriate branch views for integration

write triggers to prevent users from submitting changes to two branches at once

develop your own graphical tools to show your branch hierarchy

and so on.

Course - Using Streams to Simplify Codeline Management