



Streamline Branching and Merging
Create, edit, and manage your branches and Perforce Streams. Within P4, users can design and automate development and release processes with the following capabilities:
- Support for ‘branch per bug’ and ‘branch per feature’. Implement common branching methodologies and instantaneously create new lightweight branches with Sparse Streams.
- Reuse components across projects. Reduce manual processes, by defining component relationships between branches or streams and testing these relationships in isolation before checking in changes.
- View branches and define dependencies. In P4V, see a graphical representation of the relationships between parent and child branches or streams in a selected depot.

Gain a Unified View of Your Branch and Revision History
Trace integration points across all your files and branches to understand how your code evolved with Perforce Streams. Explore the history of your code with powerful visualization tools in P4V, enabling your team to:
- Visualize branches and integrations with the Revision Graph. View your file integration history displayed as a tree. Learn when a file was added, branched, edited, merged, copied, or deleted, or when a revision of the file was undone.
- See and contrast all versions of a single file in the Time-lapse View. Scroll through a file’s history to identify when lines were added, changed, and deleted, who made the changes, and when the changes were made.

Take Control of Your Team's Development Process
Streams simplifies your team's development workflow by providing full visibility into your codebase. Eliminate the extra work needed to define branches, manage integrations, and maintain wikis and scripts. With Streams, your entire team can easily:
- Understand the relationships between code.
- View how change is propagated between streams.
- Identify any pending integrations that need to be incorporated.
Perforce Streams Match Your Workflow
Perforce Streams are flexible and work how you do. See all the streams types available.
Mainline Stream
Keep your codeline stable and organized using a mainline stream. Child development streams can be copied up into the mainline. Then code can be pushed out to a release stream.
Release Streams
Release streams are less flexible than the parent mainline stream. They are designed to be stable and are used for bug fixing and release maintenance.
Development Streams
Used for long-term projects and major new features, development streams are where your teams get things done.
Task Streams
Perforce task streams are lightweight, short-lived branches. They are designed for developers work on a small portion of a full project branch. So, developers can work privately and switch contexts quickly. When finished, only the metadata for the changed files (along with any changes) gets merged back into the stream.
Virtual Streams
Serving as a workspace filter, virtual streams allow teams to focus on a portion of the codeline. This is incredibly valuable for enterprises that have hundreds of thousands of files in their code base. You can use them to access to certain files from the parent stream. So, if you only need to work on two files in a project, you don’t need to have the entire stream in a workspace.
Sparse Streams
Sparse Streams solves the need for lightweight branching, while also significantly reducing the amount of metadata produced. Sparse streams are instantaneous and often used to implement ‘branch per feature’ and ‘branch per bug’ methodoloites in both development and release scenarios.
Mainline Stream
Keep your codeline stable and organized using a mainline stream. Child development streams can be copied up into the mainline. Then code can be pushed out to a release stream.
Release Streams
Release streams are less flexible than the parent mainline stream. They are designed to be stable and are used for bug fixing and release maintenance.
Development Streams
Used for long-term projects and major new features, development streams are where your teams get things done.
Get Started with Perforce Streams
Already using P4 or P4 Cloud? Learn everything you need to know about Perforce Streams in this overview video.
Related Resources
Learn more about Perforce Streams in the resources below.
Getting Started with P4
Reference our Quick Start Guide for guidance on how to create a stream depot, and your first stream.
How to Set Up Streams
Use this guide to walk through how to create a child stream, make a stream change, and then copy changes into the parent stream.
How to Automate Your Branching Strategy
Learn how to manage concurrent development while eliminating obstacles with these best practices.
Get Started with P4
To start using Perforce Streams, first you need P4. Get started free for up to 5 users and 20 workspaces.
Get Started with P4 Cloud
P4 Cloud is Perforce-managed and hosted version control. Get a secure, expertly pre-configured deployment of P4 for teams under 50.