Perforce 2000.2 Command Line User's Guide (
Table of Contents
Perforce on the Web
Next Chapter >>
About This Manual

Preface: About This Manual

Administering Perforce?

New 2000.2 Features

The Example Set

Please Give Us Feedback

Chapter 1: Perforce Concepts

Perforce Architecture

Moving Files Between the Clients and the Server

File Conflicts

Labeling Groups of Files

Branching Files

Job Tracking

Change Review, Daemons, and Triggers


Chapter 2: Connecting to the Perforce Server

Before you begin

Setting up your environment to use Perforce
Telling Perforce clients where the server is
Verifying the connection to the Perforce server

Setting Environment Variables

Chapter 3: Perforce Basics: Quick Start

Underlying concepts
File configurations used in the examples

Setting up a client workspace
Naming the client workspace
Describing the client workspace to the Perforce server

Copying depot files into your workspace

Updating the depot with files from your workspace
Adding files to the depot
Populating empty depots
Editing files in the depot
Deleting files from the depot
Submitting with multiple operations

Backing out: reverting files to their unopened states

Basic reporting commands

Chapter 4: Perforce Basics: The Details

Description of the Client Workspace

Wildcards and "p4 add"

Mapping the Depot to the Client Workspace
Multiple depots
Using views
Wildcards in views
Types of mappings
Direct client-to-depot views
Mapping the full client to only part of the depot
Mapping files in the depot to different parts of the client
Excluding files and directories from the view
Allowing filenames in the client to differ from depot filenames
Changing the order of filename substrings
Two mappings can conflict and fail

Editing Existing Client Specifications
Deleting an existing client specification
Client specification options

Referring to Files on the Command Line
Local syntax
Perforce syntax
Providing files as arguments to commands
Wildcards and Perforce syntax

Name and String Limitations
Illegal characters in filenames and Perforce objects
Special notes on using spaces
Name and description lengths

Specifying Older File Revisions
Using revision specifications without filenames

Revision Ranges

File Types

Forms and Perforce Commands
Reading forms from standard input; Writing forms to standard output

General Reporting Commands

Chapter 5: Perforce Basics: Resolving File Conflicts

RCS Format: How Perforce Stores File Revisions
Only the differences between revisions are stored
Use of "diff" to determine file revision differences

Scheduling Resolves of Conflicting Files

Why "p4 sync" to Schedule a Resolve?

How Do I Know When a Resolve is Needed?

Performing Resolves of Conflicting Files
File revisions used and generated by "p4 resolve"
Types of conflicts between file revisions
How the merge file is generated
The "p4 resolve" options

Using Flags with Resolve to Automatically Accept Particular Revisions
Binary files and "p4 resolve"

Locking Files to Minimize File Conflicts
Preventing multiple resolves with file locking

Resolves and Branching

Resolve Reporting

Chapter 6: Perforce Basics: Miscellaneous Topics

Reconfiguring the Perforce Environment with $P4CONFIG

Perforce Passwords

Command-Line Flags Common to All Perforce Commands

Working Detached
Finding changed files with "p4 diff"
Using "p4 diff" to update the depot

Refreshing files

Recommendations for Organizing the Depot

Renaming Files
Revision histories and renamed files

Chapter 7: Changelists

Working with the Default Changelist

Creating Numbered Changelists Manually

Working With Numbered Changelists

Automatic Creation and Renumbering of Changelists
When submit of the default changelist fails, the changelist is assigned a number

Perforce May Renumber a Changelist upon Submission

Deleting Changelists

Changelist Reporting

Chapter 8: Labels

Why Not Just Use Changelist Numbers?

Creating a Label

Adding and Changing Files Listed in a Label
Previewing labelsync's results

Preventing Accidental Overwrites of a Label's Contents

Retrieving a Label's Contents into a Client Workspace

Deleting Labels

Label Reporting

Chapter 9: Branching

What is Branching?

When to Create a Branch

Perforce's Branching Mechanisms: Introduction

Branching and Merging, Method 1: Branching with File Specifications
Creating branched files
Why not just copy the files?
Propagating changes between branched files
Propagating changes from branched files to the original files

Branching and Merging, Method 2: Branching with Branch Specifications

Branch Specification Usage Notes

Integration Usage Notes

Deleting Branches

Advanced Integration Functions
Integrating specific file revisions
Re-integrating and re-resolving files

How Integrate Works
The yours, theirs, and base files
The integration algorithm
Integrate's actions

Integration Reporting

For More Information

Chapter 10: Job Tracking

Job Usage Overview
Creating and editing jobs using the default job specification
Creating and editing jobs with custom job specifications

Viewing jobs by content with jobviews
Finding jobs containing particular words
Finding jobs by field values
Using wildcards in jobviews
Negating the sense of a query
Using dates in jobviews
Comparison operators and field types

Linking Jobs to Changelists
Automatically linking jobs to changelists with the p4 user form
Automatic update of job status
Manually associating jobs with changelists
What if there's no status field?

Deleting Jobs

Integrating to External Defect Tracking Systems

Job Reporting Commands

Chapter 11: Reporting and Data Mining

File metadata
Basic file information
File revision history
Opened files
Relationships between client and depot files
File contents
Contents of a single revision
File content comparisons

Viewing changelists that meet particular criteria
Files and jobs affected by changelists


Branch and Integration Reporting

Job Reporting
Basic job information
Jobs, fixes, and changelists

Reporting for Daemons

System Configuration

Special Reporting Flags

Reporting with Scripting
Comparing the change content of two file sets
Changelists submitted by particular users

Appendix A: Installing Perforce

Installing the server on UNIX
Creating a Perforce server root directory
Telling the Perforce server which port to listen to
Starting the Perforce server
Stopping the Perforce server
Telling Perforce clients which port to talk to

Installing the server on NT
Terminology note: NT services and servers
Starting and stopping Perforce on NT

Appendix B: Environment Variables

Appendix C: Glossary


This manual copyright 1997, 2000 Perforce Software.

All rights reserved.

Perforce software and documentation is available from You may download and use Perforce programs, but you may not sell or redistribute them. You may download, print, copy, edit, and redistribute the documentation, but you may not sell it, or sell any documentation derived from it. You may not modify or attempt to reverse engineer the programs.

Perforce programs and documents are available from our Web site as is. No warranty or support is provided. Warranties and support, along with higher capacity servers, are sold by Perforce Software.

Perforce Software assumes no responsibility or liability for any errors or inaccuracies that may appear in this book.

By downloading and using our programs and documents you agree to these terms.

Perforce and Inter-File Branching are trademarks of Perforce Software. Perforce software includes software developed by the University of California, Berkeley and its contributors.

All other brands or product names are trademarks or registered trademarks of their respective companies or organizations.

Perforce 2000.2 Command Line User's Guide (
Table of Contents
Perforce on the Web
Next Chapter >>
About This Manual
Please send comments and questions about this manual to [email protected].
Copyright 1997, 1998, 1999, 2000 Perforce Software. All rights reserved.
Last updated: 12/21/00