docs: correct documentation about eol attribute

The documentation for the eol attribute states that it is "effectively
setting the text attribute".  However, this implies that it forces the
text attribute to always be set, which has not been the case since
6523728499 ("convert: unify the "auto" handling of CRLF", 2016-06-28).
Let's avoid confusing users (and the present author when trying to
describe Git's behavior to others) by clearly documenting in which
cases the "eol" attribute has effect.

Specifically, the attribute always has an effect unless the file is
explicitly set as -text, or the file is set as text=auto and the file is
detected as binary.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
brian m. carlson 2022-01-11 02:15:07 +00:00 committed by Junio C Hamano
parent ab961513c4
commit 8c591dbfce

View File

@ -160,11 +160,12 @@ unspecified.
^^^^^ ^^^^^
This attribute sets a specific line-ending style to be used in the This attribute sets a specific line-ending style to be used in the
working directory. It enables end-of-line conversion without any working directory. This attribute has effect only if the `text`
content checks, effectively setting the `text` attribute. Note that attribute is set or unspecified, or if it is set to `auto` and the file
setting this attribute on paths which are in the index with CRLF line is detected as text. Note that setting this attribute on paths which
endings may make the paths to be considered dirty. Adding the path to are in the index with CRLF line endings may make the paths to be
the index again will normalize the line endings in the index. considered dirty. Adding the path to the index again will normalize the
line endings in the index.
Set to string value "crlf":: Set to string value "crlf"::