P4IGNORE
Description
Specify a list of files that contain lists of rules for ignoring files when adding files to the depot and reconciling workspaces.
Usage Notes
Used by Client? | Used by Server? | Command-Line Alternative | Can be set in P4CONFIG file? |
---|---|---|---|
Yes |
No |
None |
Yes |
Value if not Explicitly Set
Operating System | Value |
---|---|
All |
none |
Examples
.p4ignore
.p4ignore;$home/.myp4ignore
Notes
Note
You may use $home
to set environment variables. For example
P4IGNORE=$home/myignorefile
The syntax for the contents of a P4IGNORE
file is not
the same as Perforce syntax. Instead, it is similar to that used by
other versioning systems:
- Rules are specified using local filepath syntax. Unix style paths will work on Windows for cross platform file support.
-
A
#
character at the beginning of a line denotes a comment.You can escape the
#
comment character with a backslash (\
). This allows filenames beginning with#
to be ignored. - A
!
character at the beginning of a line line excludes the file specification. These exclusions override rules defined above it in theP4IGNORE
file, but may be overridden by later rules. - A
/
(or\
on Windows) character at the beginning of a line causes the file specification to be considered relative to theP4IGNORE
file. This is useful when the rule must apply to files at particular depots of the directory tree. - A
/
(or\
on Windows) character at the end of a line causes the file specification to only match directories, and not files of the same name. - The
*
wildcard matches substrings. Like the Perforce wildcard equivalent, it does not match path separators; however, if it is not used as part of a path, the directory scanning nature of the rule may make it appear to perform like the Perforce "...
" wildcard. - The
**
wildcard matches substrings including path separators. It is equivalent to the Perforce "...
" wildcard, which is not permitted.
For example:
# Ignore .p4ignore files .p4ignore # Ignore object files, shared libraries, executables *.dll *.so *.exe *.o # Ignore all HTML files except the readme file *.html !readme.html # Ignore the bin directory bin/ # Ignore the build.properties file in this directory /build.properties # Ignore all text files in test directories test/**.txt
The first match is used when figuring out what to ignore.
Use the p4 ignores
command to get information about
why a file is being ignored during add and reconcile operations. For
example, the following command, lets you know which line of the
P4IGNORE
file is being used to ignore a file.
$ p4 ignores -v -i mypath