| git-check-attr(1) | |
| ================= | |
| NAME | |
| ---- | |
| git-check-attr - Display gitattributes information | |
| SYNOPSIS | |
| -------- | |
| [verse] | |
| '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 | |
| 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 |