p4 edit
Synopsis
Opens file(s) in a client workspace for edit.
Syntax
p4 [g-opts
] edit [-c
changelist
] [-k -n] [-t
type
]
[--remote=remote
]
file
...
Description
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 committed with
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.)
To move files already opened for edit from one changelist to another,
use p4 reopen
.
Options
|
Opens the files for edit within the specified changelist. If this option is not provided, the files are linked to the default changelist. |
|
Keep existing workspace files; mark the file as open for edit even if
the file is not in the client view. Use |
|
Preview which files would be opened for edit, without actually changing any files or metadata. |
|
Opens the file for edit in your personal server, and additionally — if the file is of type For more information, see the section Support for exclusive locking in the Fetching and Pushing chapter of Using Helix for Distributed Versioning. |
|
Stores the new file revision as the specified type, overriding the
file type of the previous revision of the same file. To forcibly
re-detect a file’s filetype (that is, to assign a file type as if
the file were being newly added) upon editing a file, use See “File Types” for a list of file types. |
|
See “Global Options”. |
Usage Notes
Can File Arguments Use Revision Specifier? | Can File Arguments Use Revision Range? | Minimal Access Level Required |
---|---|---|
No |
No |
|
Because 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:
- Use
p4 edit
to open the file in the client workspace, - Edit the file with any editor,
- Submit the file to the depot with
p4 submit
.
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. Because this file revision is not the
head revision, you must 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.
In older versions of Perforce, p4 edit
was called p4
open
.
Examples
p4 edit -t text+k doc/*.txt |
Opens all files ending in |
p4 edit -t +l //depotname/... |
Implements pessimistic locking (exclusive-open) for all files in a
depot. After this changelist is submitted, only one user at a time
will be able to edit files in the depot named |
p4 edit -c 14 ... |
Opens all files anywhere within the current working directory’s file
tree for |
|
Open a file named For details about how to specify other characters reserved for use as Perforce wildcards, see Limitations on characters in filenames and entities. |