p4 edit opens files for editing within the client workspace. The specified file(s) are linked to a changelist, but the files are not actually changed in the depot until the changelist is sent to the server by
p4 submit.
Perforce controls the local OS file permissions; when p4 edit is run, the OS
write permission is turned on for the specified files.
When a file that has been opened for edit with p4 edit is submitted to the depot, the file revision that exists in the depot is not replaced. Instead, the new file revision is assigned the next revision number in sequence, and previous revisions are still accessible. By default, the newest revision (the
head revision) is used by all commands that refer to the file.
By default, the specified files are added to the default changelist. Use -c to specify a different changelist. (Or use the
p4 change command to move files from the default changelist to a numbered changelist.)
Since p4 edit turns local OS
write permissions on for the specified files, this command should be given before the file is actually edited. The process is:
To edit an older revision of a file, use p4 sync to retrieve the previously stored file revision into the client workspace, and then
p4 edit the file. Since this file revision is not the head revision, you muse use
p4 resolve before the file can be stored in the depot with
p4 submit.
By default, Perforce does not prevent users from opening files that are already open; its default scheme is to allow multiple users to edit the file simultaneously, and then resolve file conflicts with
p4 resolve. To determine whether or not another user already has a particular file opened, use
p4 opened -a file.
If you need to prevent other users from working on files you've already opened, you can either use the
p4 lock command (to allow other users to edit files you have open, but prevent them from submitting the files until you first submit your changes), or you can use the
+l (exclusive-open) filetype to prevent other users from opening the files for edit at all.