[ Prev ] [ Index ] [ Next ]

Perforce

Created Wednesday 06 February 2008

A commerical Source Code Control System (SCCS) offering atomic commits, true client-server and true remote depot. Perforce (www.perforce.com) as a server process (p4d) and a client application (p4) which connects to the server. Each perforce depot is user-based and licensing is per-user (not per cpu). Each user in a perforce depot may have multiple client specs, which are views over the server depot. Perforce is changelist based, which is the atomic transactional unit of work. Files are added into a change list by checking them out of the depot (for edit) for adding them to the depot (add). Perforce does not consider directories to be files and does not perform sccs over them. Only data files can be added into the depot.

A users active client (also called a workspace) is sync'd to the localhost, where the user performs common operations, like edit, add, delete and so on. Subsequent sync operations may put the users's workspace in conflict with the depot, in which case a resolve operations can be performed to merge the content of the client file and the server copy. A change list is commited to the server and made available to other clients by issuing a commit operation.

1. Common Perforce Commands

Like most source code control systems, the common perforce commands center around editing existing files, adding new files and removing files. Being client-server and supporting atomic units of work, perforce requires work to be done in changelists, each of which are allocated a unique number. Editing a file automatically creates a changelist called the default changelist. Files in the default change list can be moved to other (pending) changelists using the reopen command.

Stuart Moorfoot © 6 Feb 2008 foo@bund.com.au


Backlinks: p4 cvs ant