This book, Helix Versioning Engine Administrator Guide: Multi-Site Deployment (previously titled Distributing Perforce), is a guide intended for administrators responsible for installing, configuring, and maintaining multiple interconnected or replicated Perforce services. Administrators of sites that require only one instance of the Perforce service will likely find the Helix Versioning Engine Administrator Guide: Fundamentals sufficient.

This guide assumes familiarity with the material in the Helix Versioning Engine Administrator Guide: Fundamentals.

About this manual

This manual includes the following chapters:



“Introduction to Federated Services”

Describes the different types of Perforce servers and explains how you combine these to solve usability and performance issues. In addition, this chapter discusses the issues that affect service federation independently of the particular type of service used: issues like user authentication and communication among federated services. Subsequent chapters in this book describe each type of service in detail.

“Perforce Replication”

Explains how you work with server replicates to provide warm standby servers, to reduce load and downtime on the primary server, to provide support for build farms, or to forward write requests to a central server.

“Commit-edge Architecture”

Describes commit-edge architecture, which addresses the needs of geographically distributed work groups and offers significant performance advantages. Explains how you set up a commit-edge configuration, how you migrate from an existing installation, how you manage this configuration, how you use commit/edge triggers, and how you plan for disaster recovery.

“The Perforce Broker”

Explains how yo use the Perforce broker to implement local policies in your Perforce environment by redirecting server requests and by mediating between the client and other servers in your federated environment. Provides information about how you install, configure, and run the broker.

“Perforce Proxy”

Explains how you use a Perforce proxy to improve performance in a federated environment. Describes how you install and configure the proxy and how you use it to maximize performance.

Perforce Server (p4d) Reference

Provides reference information about the syntax and options of the p4d command used to create and configure a Perforce server.

What's new in this guide for the 2015.2 update

This section provides a list of changes to this guide for the Perforce Server 2015.2 update release. For a list of all new functionality and major bug fixes in Perforce Server 2015.2, see the Perforce Server 2015.2 Release Notes.

Major changes

New configurable

Allows client view maps to be made global under certain conditions. See Setting global client views for more information.

Updates and corrections

p4 verify command

The -t option may now be used on replicas that have lbr.replication=cache.

Use the -S option to determine whether your shelved archives have been lost or damaged.

Promote shelves

Use the new -p option for the p4 unload command to promote any non-promoted shelves belonging to the specified client that is being unloaded. The shelf is promoted to the commit server where it can be accessed by other edge servers.

You may unshelve a promoted shelf into open files and branches on a server from where the shelf did not originate.

Use a client on an edge server as a template for a client on other edge servers

See Creating a client from a template for more information.

You may not use p4 resubmit and p4 unsubmit commands from on edge server

You may only use these commands on a commit server.

Lock and unlock files

New command options allow you to lock files globally and to unlock orphaned files. For more information, see Locking and unlocking files.

For clients bound to edge servers: additional checks to prevent inadvertent deletion of clients or changelists

The p4 client and p4 change commands now require that you specify additional information to prevent the accidental deletion of a client or changelist belonging to a client bound to an edge server. See Managing distributed installations for more information.

Setting the rpl.compress configurable allows you to compress journal record data that is transmitted using p4 pull.

You can compress journal record data during pull

Setting the rpl.compress configurable allows you to compress journal record data that is transmitted using p4 pull.

You can get more information about pull threads

If you are running a replica with monitoring enabled and you have not configured the monitor table to be disk-resident, you can get more precise information about what pull threads are doing. See The p4 pull command for more information.

You can batch files for a pull operation

Use the new --batch option to the p4 pull command to specify the number of files a pull thread should process in a single request. The default value of 1 is usually adequate. For high-latency configurations, a larger value might improve archive transfer speed for large numbers of small files. (Use of this option requires that both master and replica be at version 2015.2 or higher.)

Display information about replicas for untagged output

The p4 info command displays information about replicas and service fields for untagged output as well as tagged output.

Helix documentation

The following table lists and describes key documents for Helix users, developers, and administrators. For complete information see the following:

For specific information about…

See this documentation…

Introduction to version control concepts and workflows; Helix architecture, and related products.

Introducing Helix

Using the command-line interface to perform software version management, working with Helix streams, jobs, reporting, scripting, and more.

Helix Versioning Engine User Guide

Basic workflows using the P4V, the cross-platform Helix desktop client.

P4V User Guide

Working with personal and shared servers and understanding the distributed versioning features of the Helix Versioning engine.

Using Distributed Versioning with Helix

p4 command line (reference).

P4 Command Reference, p4 help

Installing and administering the Helix versioning engine, including user management, and security settings.

Helix Versioning Engine Administrator Guide: Fundamentals

Installing and configuring Helix servers (proxies, replicas, and edge servers) in a distributed environment.

Helix Versioning Engine Administrator Guide: Multi-site Deployment

Installing and administering a Helix server cluster for high performance and automated failover.

Helix Versioning Engine Administrator Guide: Cluster Management

Helix plug-ins and integrations.

IDEs: Using IDE Plug-ins

Defect trackers: Defect Tracking Gateway Guide

Others: online help from the Perforce menu or web site

Developing custom Helix applications using the Helix C/C++ API.

C/C++ API User Guide

Working with Helix in Ruby, Perl, Python, and PHP.

APIs for Scripting

Syntax conventions

Helix documentation uses the following syntax conventions to describe command line syntax.




Monospace font indicates a word or other notation that must be used in the command exactly as shown.


Italics indicate a parameter for which you must supply specific information. For example, for a serverid parameter, you must supply the id of the server.


Square brackets indicate that the enclosed elements are optional. Omit the brackets when you compose the command.

Elements that are not bracketed are required.

Ellipses (…) indicate that the preceding element can be repeated as often as needed.

element1 | element2

A vertical bar ( | ) indicates that either element1 or element2 is required.

Please give us feedback

We are interested in receiving opinions on this manual from our users. In particular, we'd like to hear from users who have never used Perforce before. Does this guide teach the topic well? Please let us know what you think; we can be reached at .

If you need assistance, or wish to provide feedback about any of our products, contact .