P4 overview

P4 is industry-leading version control software that manages all kinds of digital assets, including binary assets, with performance at scale and support for globally-distributed teams.

Version control basics

P4 is a version control system, also referred to as a revision control system or source control system. In a version control system, each saved copy of a file is versioned, recording who made changes, when, and why.

Version control systems provide a secure and efficient way to manage changes to digital assets, especially in collaborative projects.

This helps your organization:

  • Resolve conflicting changes

  • Find bugs

Basic version control workflow for code-based (text) files

  1. Assets under version control are placed in a specific location on the server, referred to as a depot in P4. This is sometimes called a repository or repo in other version control systems.

  2. Assets are associated with permissions enabling users to read or modify them.

  3. A user checks out a working copy of an asset and makes changes.

  4. Another user checks out a working copy of the same asset and makes changes.

  5. The first user saves changes to their local working copy and submits their changed copy to the depot.

  6. The version control system detects that the same asset was changed in parallel. The second user is asked to compare their changes with those of the first user before the second user’s changes can be checked in. Comparing versions and deciding how to proceed is called resolving.

Basic version control workflow for binary files

  1. Binary files, typically used in game engines, cannot be merged like text files. You can set these files to be checked out by only one user at a time, which ensures multiple users are not trying to work on the same file at the same time, preventing loss of work.

  2. Assets under version control are placed in a specific location on the server, referred to as a depot in P4. This is sometimes called a repository or repo in other version control systems.

  3. Assets are associated with permissions enabling users to read or modify them.

  4. Binary file types are configured by an administrator so that multiple users cannot check them out at the same time.

  5. A user checks out a working copy of an asset and makes changes to it.

  6. Another user cannot check out the same asset until the first user’s changes are submitted or reverted. They can see which user has the asset checked out and communicate with them as needed.

  7. The first user saves changes to their local working copy and submits their changed copy to the depot.

  8. The second user is able to get the latest revision of the asset, check it out, and make their own changes.

Centralized and distributed version control systems

Version control systems enable predictable, manageable, and auditable changes to your files. Version control systems can be centralized or distributed.

  • In a centralized version control system, users are directly or indirectly connected to a central server.

  • In a distributed version control system,  users are not connected to a central server. They push changes to and fetch changes from the server when needed.

P4 by default works as a centralized version control system that lets you work disconnected from the server when needed. You can also use P4 as a distributed version control system.

What's next