Documentation / git-check-attr.txton commit graph: add commit graph design document (ae30d7b)
   1git-check-attr(1)
   2=================
   3
   4NAME
   5----
   6git-check-attr - Display gitattributes information
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git check-attr' [-a | --all | attr...] [--] pathname...
  13'git check-attr' --stdin [-z] [-a | --all | attr...]
  14
  15DESCRIPTION
  16-----------
  17For every pathname, this command will list if each attribute is 'unspecified',
  18'set', or 'unset' as a gitattribute on that pathname.
  19
  20OPTIONS
  21-------
  22-a, --all::
  23        List all attributes that are associated with the specified
  24        paths.  If this option is used, then 'unspecified' attributes
  25        will not be included in the output.
  26
  27--cached::
  28        Consider `.gitattributes` in the index only, ignoring the working tree.
  29
  30--stdin::
  31        Read pathnames from the standard input, one per line,
  32        instead of from the command-line.
  33
  34-z::
  35        The output format is modified to be machine-parseable.
  36        If `--stdin` is also given, input paths are separated
  37        with a NUL character instead of a linefeed character.
  38
  39\--::
  40        Interpret all preceding arguments as attributes and all following
  41        arguments as path names.
  42
  43If none of `--stdin`, `--all`, or `--` is used, the first argument
  44will be treated as an attribute and the rest of the arguments as
  45pathnames.
  46
  47OUTPUT
  48------
  49
  50The output is of the form:
  51<path> COLON SP <attribute> COLON SP <info> LF
  52
  53unless `-z` is in effect, in which case NUL is used as delimiter:
  54<path> NUL <attribute> NUL <info> NUL
  55
  56
  57<path> is the path of a file being queried, <attribute> is an attribute
  58being queried and <info> can be either:
  59
  60'unspecified';; when the attribute is not defined for the path.
  61'unset';;       when the attribute is defined as false.
  62'set';;         when the attribute is defined as true.
  63<value>;;       when a value has been assigned to the attribute.
  64
  65Buffering happens as documented under the `GIT_FLUSH` option in
  66linkgit:git[1].  The caller is responsible for avoiding deadlocks
  67caused by overfilling an input buffer or reading from an empty output
  68buffer.
  69
  70EXAMPLES
  71--------
  72
  73In the examples, the following '.gitattributes' file is used:
  74---------------
  75*.java diff=java -crlf myAttr
  76NoMyAttr.java !myAttr
  77README caveat=unspecified
  78---------------
  79
  80* Listing a single attribute:
  81---------------
  82$ git check-attr diff org/example/MyClass.java
  83org/example/MyClass.java: diff: java
  84---------------
  85
  86* Listing multiple attributes for a file:
  87---------------
  88$ git check-attr crlf diff myAttr -- org/example/MyClass.java
  89org/example/MyClass.java: crlf: unset
  90org/example/MyClass.java: diff: java
  91org/example/MyClass.java: myAttr: set
  92---------------
  93
  94* Listing all attributes for a file:
  95---------------
  96$ git check-attr --all -- org/example/MyClass.java
  97org/example/MyClass.java: diff: java
  98org/example/MyClass.java: myAttr: set
  99---------------
 100
 101* Listing an attribute for multiple files:
 102---------------
 103$ git check-attr myAttr -- org/example/MyClass.java org/example/NoMyAttr.java
 104org/example/MyClass.java: myAttr: set
 105org/example/NoMyAttr.java: myAttr: unspecified
 106---------------
 107
 108* Not all values are equally unambiguous:
 109---------------
 110$ git check-attr caveat README
 111README: caveat: unspecified
 112---------------
 113
 114SEE ALSO
 115--------
 116linkgit:gitattributes[5].
 117
 118GIT
 119---
 120Part of the linkgit:git[1] suite