Git 2.13.0 • Manual
Home • Environment Variables •
git-check-attr (draft)
NAME
git-check-attr - Display gitattributes information
SYNOPSIS
git check-attr [-a | --all | attr...] [--] pathname...
git check-attr --stdin [-z] [-a | --all | attr...]
DESCRIPTION
For every pathname, this command will list if each attribute is unspecified, set, or unset as a gitattribute on that pathname.
OPTIONS
-a, --all- 
    
List all attributes that are associated with the specified paths. If this option is used, then unspecified attributes will not be included in the output.
 --cached- 
    
Consider
.gitattributesin the index only, ignoring the working tree. --stdin- 
    
Read pathnames from the standard input, one per line, instead of from the command-line.
 -z- 
    
The output format is modified to be machine-parseable. If
--stdinis also given, input paths are separated with a NUL character instead of a linefeed character. --- 
    
Interpret all preceding arguments as attributes and all following arguments as path names.
 
If none of --stdin, --all, or -- is used, the first argument will be treated as an attribute and the rest of the arguments as pathnames.
OUTPUT
The output is of the form: <path> COLON SP <attribute> COLON SP <info> LF
unless -z is in effect, in which case NUL is used as delimiter: <path> NUL <attribute> NUL <info> NUL
<path> is the path of a file being queried, <attribute> is an attribute being queried and <info> can be either:
unspecified- 
    
when the attribute is not defined for the path.
 unset- 
    
when the attribute is defined as false.
 set- 
    
when the attribute is defined as true.
 <value>- 
    
when a value has been assigned to the attribute.
 
Buffering happens as documented under the GIT_FLUSH option in linkgit:git[1]. The caller is responsible for avoiding deadlocks caused by overfilling an input buffer or reading from an empty output buffer.
EXAMPLES
In the examples, the following .gitattributes file is used:
*.java diff=java -crlf myAttr
NoMyAttr.java !myAttr
README caveat=unspecified
- Listing a single attribute:
 
$ git check-attr diff org/example/MyClass.java
org/example/MyClass.java: diff: java
- Listing multiple attributes for a file:
 
$ git check-attr crlf diff myAttr -- org/example/MyClass.java
org/example/MyClass.java: crlf: unset
org/example/MyClass.java: diff: java
org/example/MyClass.java: myAttr: set
- Listing all attributes for a file:
 
$ git check-attr --all -- org/example/MyClass.java
org/example/MyClass.java: diff: java
org/example/MyClass.java: myAttr: set
- Listing an attribute for multiple files:
 
$ git check-attr myAttr -- org/example/MyClass.java org/example/NoMyAttr.java
org/example/MyClass.java: myAttr: set
org/example/NoMyAttr.java: myAttr: unspecified
- Not all values are equally unambiguous:
 
$ git check-attr caveat README
README: caveat: unspecified
SEE ALSO
linkgit:gitattributes[5].
GIT
Part of the linkgit:git[1] suite