git-check-attr
git-check-attr(1) =================
NAME ---- git-check-attr - Display gitattributes information
SYNOPSIS --------
’git check-attr’ [--source \<tree-ish>] [-a | --all | \<attr>…] [--] \<pathname>…\ ’git check-attr’ --stdin [-z] [--source \<tree-ish>] [-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 .gitattributes in 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-parsable. If --stdin is also given, input paths are separated with a NUL character instead of a linefeed character.
--source=\<tree-ish>
Check attributes against the specified tree-ish. It is common to specify the source tree by naming a commit, branch, or tag associated with it.
--
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 git. 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 -------- gitattributes.
GIT --- Part of the git suite