# Glossary of Perforce Terminology

Term | Definition
--- | ---
`` `access level` | A permission assigned to a user to control which Perforce commands the user can execute. See protections.
`` `admin access` | An access level that gives the user permission to run Perforce commands that override metadata, but do not affect the state of the server.
`` `apple file type` | Perforce file type assigned to Macintosh files that are stored using AppleSingle format, permitting the data fork and resource fork to be stored as a single file.
`` `atomic change transaction` | Grouping operations affecting a number of files in a single transaction. If all operations in the transaction succeed, all the files are updated. If any operation in the transaction fails, none of the files are updated.
`` `base` | The file revision on which two newer, conflicting file revisions are based.
`` `binary file type` | Perforce file type assigned to a non-text file. By default, the contents of each revision are stored in full and the file is stored in compressed format.
`` `branch` | (noun) A codeline created by copying another codeline, as opposed to a codeline that was created by adding original files. branch is often used as a synonym for branch view. (verb) To create a codeline branch with `p4 integrate`.
`` `branch form` | The Perforce form you use to modify a branch.
`` `branch specification` | Specifies how a branch is to be created by defining the location of the original codeline and the branch. The branch specification is used by the integration process to create and update branches. Client workspaces, labels, and branch specifications cannot share the same name.
`` `branch view` | A specification of the branching relationship between two codelines in the depot. Each branch view has a unique name, and defines how files are mapped from the originating codeline to the target codeline. See branch.
`` `changelist` | An atomic change transaction in Perforce. The changes specified in the changelist are not stored in the depot until the changelist is submitted to the depot.
`` `changelist form` | The Perforce form you use to modify a changelist.
`` `changelist number` | The unique numeric identifier of a changelist.
`` `change review` | The process of sending email to users who have registered their interest in changes made to specified files in the depot.
`` `checkpoint` | A copy of the underlying server metadata at a particular moment in time. See metadata.
`` `client form` | The Perforce form you use to define a client workspace.
`` `client name` | A name that uniquely identifies the current client workspace.
`` `client root` | The root directory of a client workspace. If two or more client workspaces are located on one machine, they cannot share a root directory.
`` `client side` | The right-hand side of a mapping within a client view, specifying where the corresponding depot files are located in the client workspace.
`` `client view` | A set of mappings that specifies the correspondence between file locations in the depot and the client workspace.
`` `client workspace` | Directories on the client computer where you work on file revisions that are managed by Perforce. By default this name is set to the name of the host machine on which the client workspace is located; to override the default name, set the `P4CLIENT` environment variable. Client workspaces, labels, and branch specifications cannot share the same name.
`` `codeline` | A set of files that evolve collectively. One codeline can be branched from another, allowing each set of files to evolve separately.
`` `conflict` | One type of conflict occurs when two users open a file for edit. One user submits the file; after which the other user can't submit because of a conflict. The cause of this type of conflict is two users opening the same file. The other type of conflict is when users try to merge one file into another. This type of conflict occurs when the comparison of two files to a common base yields different results, indicating that the files have been changed in different ways. In this case, the merge can't be done automatically and must be done by hand. The type of conflict is caused by non-matching diffs. See file conflict.
`` `counter` | A numeric variable used by Perforce to track changelist numbers in conjunction with the review feature.
`` `default changelist` | The changelist used by Perforce commands, unless a numbered changelist is specified. A default pending changelist is created automatically when a file is opened for edit.
`` `default depot` | The depot name that is assumed when no name is specified. The default depot name is `depot`.
`` `deleted file` | In Perforce, a file with its head revision marked as deleted. Older revisions of the file are still available.
`` `delta` | The differences between two files.
`` `depot` | A file repository on the Perforce server. It contains all versions of all files ever submitted to the server. There can be multiple depots on a single server.
`` `depot root` | The root directory for a depot.
`` `depot side` | The left side of any client view mapping, specifying the location of files in a depot.
`` `depot syntax` | Perforce syntax for specifying the location of files in the depot.
`` `detached` | A client computer that cannot connect to a Perforce server.
`` `diff` | A set of lines that don't match when two files are compared. A conflict is a pair of unequal diffs between each of two files and a common third file.
`` `donor file` | The file from which changes are taken when propagating changes from one file to another.
`` `exclusionary mapping` | A view mapping that excludes specific files.
`` `exclusionary access` | A permission that denies access to the specified files.
`` `file conflict` | In a three-way file merge, a situation in which two revisions of a file differ from each other and from their base file. Also: an attempt to submit a file that is not an edit of the head revision of the file in the depot; typically occurs when another user opens the file for edit after you have opened the file for edit.
`` `file pattern` | Perforce command line syntax that enables you to specify files using wildcards.
`` `file repository` | The master copy of all files; shared by all users. In Perforce, this is called the depot.
`` `file revision` | A specific version of a file within the depot. Each revision is assigned a number, in sequence. Any revision can be accessed in the depot by its revision number, for example: `testfile#3`.
`` `file tree` | All the subdirectories and files under a given root directory.
`` `file type` | An attribute that determines how Perforce stores and diffs a particular file. Examples of file types are `text` and `binary`.
`` `fix` | A job that has been linked to a changelist.
`` `form` | Screens displayed by certain Perforce commands. For example, you use the Perforce change form to enter comments about a particular changelist and to verify the affected files.
`` `full-file storage` | The method by which Perforce stores revisions of binary files in the depot: every file revision is stored in full. Contrast this with reverse delta storage, which Perforce uses for `text` files.
`` `get` | An obsolete Perforce term: replaced by sync.
`` `group` | A list of Perforce users.
`` `have list` | The list of file revisions currently in the client workspace.
`` `head revision` | The most recent revision of a file within the depot. Because file revisions are numbered sequentially, this revision is the highest-numbered revision of that file.
`` `integrate` | To compare two sets of files (for example, two codeline branches) and determine which changes in one set apply to the other, determine if the changes have already been propagated, propagate any outstanding changes.
`` `Inter-File Branching` | Perforce's proprietary branching mechanism.
`` `job` | A user-defined unit of work tracked by Perforce. The job template determines what information is tracked. The template can be modified by the Perforce system administrator
`` `job specification` | A specification containing the fields and valid values stored for a Perforce job.
`` `job view` | A syntax used for searching Perforce jobs.
`` `journal` | A file containing a record of every change made to the Perforce server's metadata since the time of the last checkpoint.
`` `journaling` | The process of recording changes made to the Perforce server's metadata.
`` `label` | A named list of user-specified file revisions.
`` `label view` | The view that specifies which file names in the depot can be stored in a particular label.
`` `lazy copy` | A method used by Perforce to make internal copies of files without duplicating file content in the depot. Lazy copies minimize the consumption of disk space by storing references to the original file instead of copies of the file.
`` `license file` | Ensures that the number of Perforce users on your site does not exceed the number for which you have paid.
`` `list access` | A protection level that enables you to run reporting commands but prevents access to the contents of files.
`` `local depot` | Any depot located on the current Perforce server.
`` `local syntax` | The operating-system-specific syntax for specifying a file name.
`` `lock` | A Perforce file lock prevents other clients from submitting the locked file. Files are unlocked with the `p4 unlock` command or submitting the changelist that contains the locked file.
`` `log` | Error output from the Perforce server. By default, error output is written to standard error. To specify a log file, set the `P4LOG` environment variable, or use the `p4d -L` flag.
`` `mapping` | A single line in a view, consisting of a left side and a right side that specify the correspondences between files in the depot and files in a client, label, or branch. The left side specifies the depot file and the right side specifies the client files. (See also client view, branch view, label view).
`` `MD5 checksum` | The method used by Perforce to verify the integrity of archived files.
`` `merge` | The process of combining the contents of two conflicting file revisions into a single file.
`` `merge file` | A file generated by Perforce from two conflicting file revisions.
`` `metadata` | The data stored by the Perforce server that describes the files in the depot, the current state of client workspaces, protections, users, clients, labels, and branches. Metadata includes all the data stored in the server except for the actual contents of the files.
`` `modification time` | The time a file was last changed.
`` `nonexistent revision` | A completely empty revision of any file. Syncing to a nonexistent revision of a file removes it from your workspace. An empty file revision created by deleting a file and the `#none` revision specifier are examples of nonexistent file revisions.
`` `numbered changelist` | A pending changelist to which Perforce has assigned a number.
`` `open file` | A file that you are changing in your client workspace.
`` `owner` | The Perforce user who created a particular client, branch, or label.
`` ``P4`` | The Perforce Command-Line Client program, and the command you issue to execute Perforce commands from the operating system command line.
`` ``P4D`` | The program on the Perforce server that manages the depot and the metadata.
`` `P4Diff` | A Perforce application that displays the differences between two files. `P4Diff` is the default application used to compare files during the file resolution process.
`` `pending changelist` | A changelist that has not been submitted.
`` `Perforce server` | The Perforce depot and metadata on a central host. Also the program that manages the depot and metadata.
`` `protections` | The permissions stored in the Perforce server's protections table.
`` `RCS format` | Revision Control System format. Used for storing revisions of text files. RCS format uses reverse delta encoding for file storage. Perforce uses RCS format to store text files. See also reverse delta storage.
`` `read access` | A protection level that enables you to read the contents of files managed by Perforce.
`` `remote depot` | A depot located on a server other than the current Perforce server.
`` `reresolve` | The process of resolving a file after the file is resolved and before it is submitted
`` `resolve` | The process you use to reconcile the differences between two revisions of a file.
`` `reverse delta storage` | The method that Perforce uses to store revisions of text files. Perforce stores the changes between each revision and its previous revision, plus the full text of the head revision.
`` `revert` | To discard the changes you have made to a file in the client workspace.
`` `review access` | A special protections level that includes `read` and `list` accesses, and grants permission to run the `review` command.
`` `review daemon` | Any daemon process that uses the `p4 review` command. See also change review.
`` `revision number` | A number indicating which revision of the file is being referred to.
`` `revision range` | A range of revision numbers for a specified file, specified as the low and high end of the range. For example, `foo#5,7` specifies revisions 5 through 7 of file `foo`.
`` `revision specification` | A suffix to a filename that specifies a particular revision of that file. Revision specifiers can be revision numbers, change numbers, label names, date/time specifications, or client names.
`` `server` | In Perforce, the program that executes the commands sent by client programs. The Perforce server (`p4d`) maintains depot files and metadata describing the files, and tracks the state of client workspaces.
`` `server root` | The directory in which the server program stores its metadata and all the shared files. To specify the server root, set the `P4ROOT` environment variable.
`` `status` | For a changelist, a value that indicates whether the changelist is new, pending, or submitted. For a job, a value that indicates whether the job is open, closed, or suspended. You can customize job statuses.
`` `submit` | To send a pending changelist and changed files to the Perforce server for processing.
`` `subscribe` | To register to receive email whenever changelists that affect particular files are submitted.
`` `super access` | An access level that gives the user permission to run every Perforce command, including commands that set protections, install triggers, or shut down the server for maintenance.
`` `symlink file type` | A Perforce file type assigned to UNIX symbolic links. On non-UNIX clients, symlink files are stored as text files.
`` `sync` | To copy a file revision (or set of file revisions) from the depot to a client workspace.
`` `target file` | The file that receives the changes from the donor file when you are integrating changes between a branched codeline and the original codeline.
`` `text file type` | Perforce file type assigned to a file that contains only ASCII text. See also binary file type.
`` `theirs` | The revision in the depot with which the client file is merged when you resolve a file conflict. When you are working with branched files, theirs is the donor file.
`` `three-way merge` | The process of combining three file revisions. During a three-way merge, you can identify where conflicting changes have occurred and specify how you want to resolve the conflicts.
`` `tip revision` | In Perforce, the head revision. Tip revision is a term used by some other SCM systems.
`` `trigger` | A script automatically invoked by the Perforce server when changelists are submitted.
`` `two-way merge` | The process of combining two file revisions. In a two-way merge, you can see differences between the files but cannot see conflicts.
`` `typemap` | A Perforce table in which you assign Perforce file types to files.
`` `user` | The identifier that Perforce uses to determine who is performing an operation.
`` `view` | A description of the relationship between two sets of files. See client view, label view, branch view.
`` `wildcard` | A special character used to match other characters in strings. Perforce wildcards are: `*` matches anything except a slash `...` matches anything including slashes `%d` used for parameter substitution in views
`` `write access` | A protection level that enables you to run commands that alter the contents of files in the depot. `Write` access includes `read` and `list` accesses.
`` `yours` | The edited version of a file in the client workspace, when you resolve a file. Also, the target file when you integrate a branched file.