A command that has to deal with input/output that may contain LF needs to offer the "-z" (--nul-terminated-records) option, and if it does not support separate --nul-terminated-{input,output} options, the "-z" option should govern both input and output. A caller that uses "-z" knows that the paths it feeds to these commands as input may have LF that cannot be expressed in LF delimited input format, and the output from these commands do contain the same paths, so there is no way for their output to be expressed unambiguously for an input that requires "-z". Unfortunately, "git check-attr -z" was broken and ignored the option on the output side. This is a backward-incompatible fix, so we may need to add a "checkAttr.brokenZ" configuration to allow people to keep the existing breakage on top of these fixes, and then flip the default at Git 2.0 boundary (sometime early next year). Credit goes to Eric Sunshine for finding this discrepancy ($gmane/230158). Junio C Hamano (4): check-ignore: the name of the character is NUL, not NULL check-attr: the name of the character is NUL, not NULL check-ignore -z: a single -z should apply to both input and output check-attr -z: a single -z should apply to both input and output Documentation/git-check-attr.txt | 9 +++++++-- builtin/check-attr.c | 20 ++++++++++++++------ builtin/check-ignore.c | 12 ++++++------ 3 files changed, 27 insertions(+), 14 deletions(-) -- 1.8.3.2-911-g2c4daa5 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html