In the Perforce client/server model, the server controls access to the versioned files, maintains the revision history and other system metadata, and is the site of many system maintenance functions, such as backup and restore procedures and the verification of versioned files.
The Perforce server stores files under its control in centralized repositories called depots. In Perforce, you can have multiple depots with different storage systems and purposes. The default Perforce depot is named “depot”.
When configuring Perforce, you can place depots in directories beneath the server root or, more typically, on a separate file system.
To connect to a server, a user must specify the server’s host name and the port. Users obtain the server connection settings from the Perforce administrator. Depending on the server security level, a user might be prompted for their password.Users must be aware of the site policies that govern how Perforce is used. Policies also define the type of functionality implemented by Perforce.
For example, you might have an integration policy at your site that defines how Perforce interfaces with your defect tracking system. Other policies, such as a security policy, might define the security level configured for the server and the type of authentication required to connect with the server.
The files in the depot can be any form of data stored on a computer, including: text files, such as source code for a software project or HTML files for a web site and binary files, such as word processing documents, spreadsheets, photos, digital art, application data stored in a proprietary format, sound clips, and video clips.
In addition to managing the depot files, the Perforce server maintains a database containing all of the system metadata.
The system metadata includes both information about the versioned files, such as the revision history for each file, and system information, such as user and group definitions, labels, access permissions, and so forth.
The server simultaneously writes all metadata updates to a journal. Because the journal is used to restore your Perforce metadata from a backup, as a best practice, the journal should be located on a volume separate from the metadata.
A system administrator or dedicated Perforce administrator typically installs and configures all of the Perforce server-side components. The administrator provides users with the information that they need to connect to the Perforce server.
Perforce provides a variety of client applications for end users, including:
Standalone clients, like P4V, P4Web, P4Admin, and the P4 command line client. Plug-ins, such as P4SCC, P4Eclipse, and P4GT. And APIs, such as P4Java and P4Perl, that help you create applications that interact with Perforce.