Streams

This section describes how to configure a streamClosed A branch with built-in rules that determine which changes to propagate to files in a stream depot, and in what order. A stream specification defines a stream. A user creates a stream spec by using the 'p4 stream' command or in P4V with File > New Stream. In P4V, stream specs are visible in the Streams Graph and the Streams tab., how to propagate changes between streams, and how to update a stream.

About streams

Streams:

  • can be used to manage files in a way that resembles branches, but with additional functionality and structure
  • guide merging and branching actions to support stability and innovation
  • are ideal for implementing the mainline branching model, in which less stable streams first merge down changes to keep up to date with their parent stream, then copy up to the parent when the code or content is more stable
  • eliminate much of the administrative work needed to define branches, create workspaces, and manage merges
  • enable the generation of views for associated workspaces, so you don't need to update views manually to reflect changes to your stream structure

When you create a stream, you configure a stream specification. In the stream spec, you specify the type of stream, and provide information about the files it is associated with, its relationship to other streams, and how files are to be treated for branching and merging.

The stream type indicates the stability of the stream relative to other streams.

The stream’s path information determines:

  • which files to populate the workspace with
  • which files child streams are allowed to branch
  • which changelist to lock the files at

Parent labeling specifies how the stream relates to other streams, helping to determine how change flows through the set of streams.

Note

If you are using Helix Server branches and want to use streams instead, see the Support Knowledgebase article, "Migrating from Classic to Stream Depot".