Preface
This guide (previously titled Perforce Server Administrator Guide: Fundamentals) describes the installation, configuration, and management of the Helix versioning engine (Perforce server). This guide covers tasks typically performed by a system administrator (for instance, installing and configuring the software and ensuring uptime and data integrity), as well as tasks performed by a Perforce administrator, such as setting up Perforce users, configuring Perforce depot access controls, resetting Perforce user passwords, and so on.
This guide focuses on the installation, configuration, and management of a single Perforce server.
-
For information on the installation, configuration, and management of multiple distributed servers as well as of proxies and brokers, see Helix Versioning Engine Administrator Guide: Multi-site Deployment
-
For information on the installation, configuration, and management of a Perforce server cluster, see Helix Versioning Engine Administrator Guide: Cluster Management
Because Perforce requires no special system permissions, a Perforce administrator does not typically require root-level access. Depending on your site's needs, your Perforce administrator need not be your system administrator.
Both the UNIX and Windows versions of the Perforce service are administered from the command line. To familiarize yourself with the Perforce Command-Line Client, see the P4 Command Reference.
About this manual
This manual includes the following chapters:
Chapter |
Contents |
---|---|
Discusses the basic client-server architecture for connected and disconnected clients. Describes the basic administration workflows for installing, configuring, and managing the Perforce server. |
|
Describes how to install the Perforce service or upgrade an existing installation |
|
Explains basic configuration options for enabling DVCS, accepting client requests, case sensitivity, logging, and P4V settings. |
|
Explains how you work with each type of depot to organize and archive your work. |
|
Explains how you encrypt client-server communication and how you authenticate and authorize users. |
|
Explains how you back up and recover versioned data and Perforce meta data. |
|
Describes how you can monitor the Perforce server and its use of system resources: disk space, processes, commands, locked files, user file access, and logging. |
|
Provides information about managing code sharing, distributed development, users, changelists, disk space, processes, and Windows deployments. |
|
“Tuning Perforce for Performance” |
Outlines some of the factors that can affect the performance of a Perforce server, provides a few tips on diagnosing network-related difficulties, and offers some suggestions on decreasing server load for larger installations. |
Explains how jobs enable users to link changelists to enhancement requests, problem reports, and other user-defined tasks. Describes the template that defines jobs and explores the use of third party defect tracking systems. |
|
Explains how you use different kids of scripts to customize the behavior of server processing. |
|
Provides complete reference information for the command used to start and configure the Perforce server. |
|
Explains how you move an existing Perforce server from one machine to another . |
|
Provides license information. |
What's new in this guide for the 2015.2 release
This section provides a list of changes to this guide for the Perforce Server 2015.2 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
- Complete reorganization of this manual
-
This manual has been reorganized to make material easier to find and to use.
- LDAP authentication configuration
-
You can fine tune LDAP integration using three new options:
-
Set the
downcase
option to specify that user names should be downcased from the directory on an LDAP sync. -
Set the
getattrs
option to specify that theFullname
andEmail
fields should be populated for autocreated users. -
Set the
realminusername
option to specify that the realm should be taken for the SASL user name if it is in UNC or UPN format.
See Creating an LDAP configuration for more information.
-
- Journal rotation trigger
-
journal-rotate
triggers allow you to run maintenance routines on servers after the journal has been rotated, either while the database tables are still locked or after the locks have been released. These triggers are intended to be used on replicas or edge servers where journal rotation is triggered by journal records. The server must be running for these triggers to be invoked. See Triggering on journal rotation for more information. - Push trigger
-
Push triggers allow you to customize processing when using p4 push, p4 fetch, or p4 unzip commands. See Triggering on pushes and fetches for more information.
- Read only clients
-
The
readonly
type has been added to configure a client that is appropriate for automated build scripts. Using this type of client prevents db.have table fragmentation and improves performance. For more information, see Using read-only clients in automated builds. - Blocking clients
-
You can set the
rejectList
configurable to specify the clients whose connection requests will be rejected by the server. See Rejecting client connection requests for more information.
Minor changes
- scripts and daemons
-
If the API level is 79 or greater, canonical filetypes are now displayed by default for all commands that display filetypes. If the API level is 78 or lower, filetype aliases are displayed instead. If your script depends on the display of filetype aliases, you will need either to change the API level or to change your script.
The change review daemon (p4review.py and
p4review2.py
) has been deprecated. We recommend you use Swarm notifications as the preferred notification mechanism. These are described in the "Notifications" section of the Swarm Administration Guide.Documentation about daemons has been removed from the manual. As the number and types of triggers have grown, it is now the case that triggers can perform the function of any daemon. Please use triggers to customize server processing behavior.
- Log information about login attempts
-
Use the new
auth.csv
structured log to log the results of p4 login attempts. If the login failed, the reason for this is included in the log. Additional information provided by the authentication method is also included.See Enabling structured logging for more information.
- P4d -xu, P4d -jd
-
The -xu option will no longer database upgrades automatically if there are fewer than 1000 changelists.
The -jd option now can also be used with non-journaled tables.
- New commands for service users
-
Service users may now run the p4 logparse, p4 logschema, p4 logstat, p4 logtail, and p4 servers commands.
- Control display of user prompt for data collection
-
See Disabling user metrics collection prompt for more information.
- Improve performance with parallel submits and syncs
-
See Using parallel processing for submits and syncs for more information.
- Configuring P4V-Swarm connections.
Helix documentation
The following table lists and describes key documents for Helix users, developers, and administrators. For complete information see the following:
http://www.perforce.com/documentation
For specific information about… |
See this documentation… |
---|---|
Introduction to version control concepts and workflows; Helix architecture, and related products. |
|
Using the command-line interface to perform software version management, working with Helix streams, jobs, reporting, scripting, and more. |
|
Basic workflows using the P4V, the cross-platform Helix desktop client. |
|
Working with personal and shared servers and understanding the distributed versioning features of the Helix Versioning engine. |
|
p4 command line (reference). |
P4 Command Reference, p4 help |
Installing and administering the Helix versioning engine, including user management, and security settings. |
|
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. |
|
Working with Helix in Ruby, Perl, Python, and PHP. |
Syntax conventions
Helix documentation uses the following syntax conventions to describe command line syntax.
Notation |
Meaning |
---|---|
|
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
|
[ |
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. |
|
A vertical bar ( | ) indicates that either
|
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 [email protected]
.
If you need assistance, or wish to provide feedback about any of our
products, contact [email protected]
.