p4 add
Synopsis
Open file(s) in a client workspace for addition to the depot.
Syntax
p4 [g-opts
] add [-c
changelist
] [-d -f -I -n] [-t
filetype
] file
...
Description
p4 add
opens files within the client workspace for addition to
the depot. The specified file(s) are linked to a changelist; the files
are not actually added to the depot until the changelist is committed
with p4 submit
. The added files must either not
already exist in the depot, or exist in the depot but be marked as
deleted at the head revision.
The commands p4 add * or p4 add
... are synonymous to p4 reconcile -a
* — that is, all files in the workspace that do not exist
in the depot will be opened for add. Using the -a
option does not
affect the behavior of p4 add -d
.
To open a file with p4 add
, the file must exist in your client
view, but does not need to exist in your workspace at the time of p4
add
. The file must, however, exist in your workspace when you run
p4 submit
, or the submission will fail. p4
add
does not create or overwrite files in your workspace; if a file
does not exist, you must create it yourself.
By default, the specified files are opened in the default changelist. To
open the files in a specified changelist, use the -c
option. (To move
files from the default changelist to a numbered changelist, use the
p4 change
command.)
By default, p4 add
skips over files mentioned in any applicable
P4IGNORE
files. To override this behavior, use the -I
option to ignore the contents of any P4IGNORE
files.
When adding files, Perforce first examines the typemap table
(p4 typemap
) to see if the system administrator has
defined a file type for the file(s) being added. If a match is found,
the file’s type is set as defined in the typemap table. If a match is
not found, Perforce examines the first bytes of the file based on the
filesys.binaryscan
configurable (by default, 65536 bytes) to determine
whether it is text
or binary
, and the files are stored in the depot
accordingly. By default, text file revisions are stored in reverse delta
format; newly-added text files larger than the limit imposed by the
filetype.maxtextsize
configurable (by default, 10 MB) are assigned
filetype text+C
and stored in full. Files compressed in the .zip
format (including .jar
files) are also automatically detected and
assigned the type ubinary
. Other binary revisions are stored in full,
with compression.
The -t filetype
option explicitly specifies a file type, overriding
both the typemap table and Perforce’s default file type detection
mechanism.
To add files containing the characters @
, #
,
*
, and %
, use the -f
option. This option
forces literal interpretation of characters otherwise used by Perforce
as wildcards.
If you open a file for edit or move/add, and another subsequently
deletes the file you opened, the operation will fail with an error when
you submit the changelist. To ensure that you create the desired target
file, specify the -d
option ("downgrade"). More specifically:
- You open a file for edit, then another user submits a changelist that
deletes or moves the file. When you submit your edits, Perforce
returns an error and the file remains open for edit. To restore the
file (including any changes you have made) to the depot location
from which you checked it out, open the file for add and specify the
-d
option, then submit the file. - You open a file for move/add and another user submits a changelist
that deletes the source file. When you submit the move, Perforce
returns an error and the file remains open for add/move. To create
the desired target file, issue the
p4 add -d
command, specifying the target file, and submit the file.
Options
|
Opens the files for |
|
Downgrade file open status to simple add. |
|
Use the |
|
Do not perform any ignore checking; ignore any settings specified by
|
|
Preview which files would be opened for add, without actually changing any files or metadata. |
|
Adds the file as the specified filetype, overriding any settings in the typemap table. See “File Types” for a list of Perforce 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 |
|
- Wildcards in file specifications provided to
p4 add
are expanded by the local operating system, not by the Perforce service. For instance, the...
wildcard cannot be used withp4 add
. - In Perforce, there is no difference between adding files to an empty
depot and adding files to a depot that already contains other files.
You can populate new, empty depots by adding files from a client
workspace with
p4 add
. -
Do not use ASCII expansions of special characters with
p4 add -f
. To add the filestatus@june.txt
, use:p4 add -f status@june.txt
If you manually expand the
@
sign and attempt to add the filestatus%40june.txt
, Perforce interprets the%
sign literally, expands it to the hex code%25
, resulting in the filenamestatus%2540june.txt
.
Examples
|
Assigns a specific file type to a new file, overriding any settings in the typemap table. |
p4 add -c 13 * |
Opens all the files within the user’s current directory for |
p4 add README ~/src/*.c |
Opens all |
p4 add -f *.c |
Opens a file named To refer to this file in views, or with other Perforce commands, you
must subsequently use the hex expansion For more information, see Limitations on characters in filenames and entities. |