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

  • A ! character at the beginning of a line line excludes the file specification. These exclusions override rules defined above it in the P4IGNORE 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 the P4IGNORE 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

Use the p4 ignores command to get information about why a file is being ignored during add and reconcile operations.