About This Manual

This manual documents every Perforce command, environment variable, and configurable. This manual is intended for users who prefer to learn by means of Unix-style man pages, and for users who already understand the basics of Perforce and need to quickly find information on a specific command.

The following table provides an index to the P4 Command Reference by functional area:


Where to look


p4 help, p4 info, “File Specifications”, “Views”, “Global Options”, “File Types”

Client workspace

p4 clean, p4 client, p4 clients, p4 flush, p4 have, p4 sync, p4 update, p4 where, p4 workspace, p4 workspaces


p4 add, p4 attribute, p4 copy, p4 delete, p4 diff, p4 diff2, p4 dirs, p4 edit, p4 files, p4 fstat, p4 grep, p4 move, p4 lock, p4 print, p4 reconcile, p4 rename, p4 revert, p4 status, p4 sizes, p4 unlock


p4 change, p4 changelist, p4 changes, p4 changelists, p4 describe, p4 filelog, p4 opened, p4 reopen, p4 review, p4 shelve, p4 submit, p4 unshelve


p4 fix, p4 fixes, p4 job, p4 jobs, p4 jobspec

Branching and Merging

p4 branch, p4 branches, p4 copy, p4 cstat, p4 integrate, p4 integrated, p4 interchanges, p4 istat, p4 label, p4 labels, p4 labelsync, p4 list, p4 merge, p4 populate, p4 tag, p4 resolve, p4 resolved, p4 stream, p4 streams


p4 admin, p4 archive, p4 cachepurge, p4 configure, p4 counter, p4 counters, p4 dbschema, p4 dbstat, p4 depot, p4 depots, p4 diskspace, p4 journals, p4 key, p4 keys, p4 license, p4 lockstat, p4 logappend, p4 logger, p4 logparse, p4 logrotate, p4 logschema, p4 logstat, p4 logtail, p4 monitor, p4 obliterate, p4 ping, p4 property, p4 proxy, p4 pull, p4 reload, p4 renameuser, p4 replicate, p4 restore, p4 reviews, p4 server, p4 serverid, p4 servers, p4 triggers, p4 typemap, p4 unload, p4 verify


p4 group, p4 groups, p4 login, p4 logout, p4 passwd, p4 protect, p4 protects, p4 tickets, p4 trust, p4 user, p4 users, P4CLIENTPATH, P4SSLDIR, P4TRUST



If you'd prefer to learn the concepts on which Perforce is based, or you prefer a style featuring more examples and tutorials than what you find here, see the P4 User's Guide, available from our web site at: http://www.perforce.com/documentation.

If there's anything we've left out that you think should be included, let us know. Please send your comments to .

What's new in this guide for the 2014.2 update

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

Changes in the update

Configurable defaults

The default values for filesys.* configurables have been updated from 10M to 250M. See Configurables for details.

Replication status clarification

In Evaluating replication status, the actions taken by local pull threads on a depot standy are clarified.

Streamlined table of contents

Sub-sections for each command no longer appear in the table of contents, reducing the number of required pages notably.

New commands

p4 journalcopy

Copies journal data from a master server to the local file system of a standby replica.

p4 ldap

Allows you to create, edit, or delete LDAP configuration specifications, or test an existing LDAP configuration.

p4 ldaps

Displays a list of LDAP configurations, or attempts to authenticate a users against active configurations.

p4 prune

Removes unmodified files from a stream. This is equivalent to p4 obliterate, except that stream owners can run p4 prune without administrator privileges.

New configurables


Specifies the default method for identifying new users. Can be perforce (the default), or ldap.


Specifies the path to a file containing one or more PEM-formatted certificates, which are used to verify an LDAP server's certificate when using SSL or TLS and auth.ssllevel is >= 1.


Specifies the name of the LDAP configuration to use for authentication, and the order in which it should be used to search for a given user name.


Specifies the level of SSL certificate validation that should be used.


Specifies the time in seconds to wait before giving up on a connection attempt.


Can be disabled to prevent log rotation after journal rotation, which can be useful if journal and log rotations need to be on different schedules.


Can be enabled to cause edge servers to always promote shelved files to the commit server. Note that enabling this configurable has negative performance implications.


Can be enabled to store archive files in compressed text (ctext) format instead of RCS format (text). Doing so provides a performance boost in distributed environments, or where archive files are shared between servers.


Set to 0 to prevent files of type +X from having their digest checked when transmitted from server to client.


When set on Unix platforms, enables the use of the p4 monitor command to display a list of locked files.


When enabled, this allows the server to automatically reload a workspace to a new edge server to which you successfully log in.


Set to 1 on each replica to enable single-sign-on authentication for users in a distributed configuration.


Specifies the number of standby servers that must acknowledge a persisted transaction before the transaction is visible to a workspace server and before the client is notified of successful completion.


Specifies the minimum number of standby servers required to acknowledge a persisted transaction before the transaction is visible to a workspace server and before the client is notified of successful completion.


Specifies the counter name for the structured log file designed by n.


By default, files are always re-transferred after a failed submit. When set, the server checks whether files already exist in the expected archive location and avoids re-transferring files it already has when retrying a failed submit.

Coverage of configurables has been moved from the p4 configure to an appendix. See Configurables for details.

New environment variables


Specifies whether the server is in Unicode mode.


Contains the non-default path and name of a configuration file that stores Perforce environment variables.

Updates and corrections

Book title change

The title of this guide has changed from Perforce Command Reference to P4 Command Reference.

p4 client

The ChangeView: field has been added to the client specification, which restricts access to depot paths to a particular point in time. Files specified in this field are read-only and may not be submitted, and revisions committed after the specified version are not visible.

Clarified that when allwrite is set and noclobber is not set, that a safe synchronization is performed.

p4 configure

The description for this command has been updated to better reflect its behavior and how server configurables can be managed.

Coverage of configurables has been moved from the p4 configure to an appendix. See Configurables for details.

Coverage of how to set client and proxy configurables has been added.

p4 depot

Corrected the syntax in the example SpecMap:

p4 depots

An operator user may now run this command.

p4 fstat

The -r option was missing from the Syntax summary, and has now been included.

p4 grep

An example demonstrating how to search for whole words has been added.

p4 integrate

The description of the -Rd option has been corrected to describe deleting target files instead of branching target files.

p4 interchanges

Added descriptions of the -u and -F options.

p4 istat

The minimum access level required to use this command been updated to open from list.

p4 label, p4 tag

Corrected the spelling of the associated configurable to rpl.labels.global from rpc.labels.global.

p4 lockstat, p4 logappend, p4 logparse, p4 logrotate, p4 logschema

Removed the indication that these commands are an argument to the p4 admin command.

p4 logtail

Added a description of the behavior when a counter is associated with an error log.

p4 monitor

This command has been updated to describe its new process management features.

p4 opened

The list of opened file states has been updated to include all available states.

p4 pull

The coverage of this command has been revised and expanded to better describe its various modes of operation, and its ability to display status information about pending transfers.

p4 reload

A description of how to use this command to migrate a workspace from one edge server to another has been included.

The description of the -p option was expanded to explain its interaction with P4PORT.

p4 server

A description of the User: field in the server specification has been added.

p4 servers

Detailed information regarding the new -J option has been added, as well as expanded coverage of the information provided in this command's output.

p4 shelve -d -f

Now deletes shelved files that are the source of pending resolves.

p4 submit

A description of the file re-transfer behavior, and how it can be controlled with the new --noretransfer option or the new submit.noretransfer configurable, has been added.

p4 triggers

Added a link to the Perforce Server Administrator's Guide: Fundamentals, for expanded coverage on writing triggers.

p4 trust

A description of the custom help for this command has been added, because you might not trust the specified server.

p4 unload

Added a reminder that this command is not necessary when you wish to migrate a workspace from one edge server to another; the p4 reload automatically unloads the workspace as part of its operations.

p4 unshelve -S

Now accepts a -P option to specify an arbitrary parent stream.

p4 user

A description of the new AuthMethod: field in the user specification has been added.

Environment variables

The notes for P4CHARSET have been updated to describe the behavior when the Perforce server is running in Unicode mode.

The notes for P4CONFIG have been updated to describe the interaction with the new P4ENVIRO environment variable.

A warning about the behavior of P4NAME on Windows when it is unset has been added.

The description of the behavior of P4SSLDIR when it is unset has been corrected to include text that was previously missing.


db.peeking has a new default value of 2, which enables lockless reads. The old default was 0.

The description for dm.user.resetpassword now indicates that it applies only to passwords for newly created users whose password was specified using the Password: field in the user specification.

monitor has new settings for monitoring commands, idle connections, locked files.

net.rfc3484 has been corrected to indicate that, when enabled, this configurable only allows the operating system to determine whether to use IPv4 or IPv6 when a hostname is provided; the network protocol to use with a provided IP address is never determined by the operation system.

The default value for net.tcpsize has been increased from 64K to 512K.

rpl.labels.global replaces the incorrectly documented rpc.labels.global.

server.locks.sync has a new default value of 0, which prevents p4 sync from taking a client workspace lock. The old default was 1.

*The default value for configurables filesys.xxx.min has increased from 10M to 250M.