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(1). The caller is responsible for avoiding deadlocks
caused by overfilling an input buffer or reading from an empty output
buffer.