Re: suggestion for improved docs on autocrlf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 08, 2019 at 11:08:14PM +0000, Yagnatinsky, Mark wrote:
> Okay, my attempt at better wording for the docs is not going well, because it turns I that I still don't understand the behavior here!
> I thought that "input" means that CRLF will become LF on "git add" but that seems to be true only sometimes.
> For instance, consider the following 11-line shell script:
>
> mkdir empty
> cd empty
> git init
> git config core.autocrlf false
> echo -e '1\r\n2' > test.txt
> git add .
> git commit -m test
> git config core.autocrlf input
> cp test.txt t2.txt
> echo 'a\r\nb' > test.txt
> git add .
>
> The output from the last git add is:
>
> warning: CRLF will be replaced by LF in t2.txt.
> The file will have its original line endings in your working directory.
>
> Which is a very good warning indeed, but why does it only apply to the new file t2.txt?
> Why does the existing file test.txt retain its CRLF line endings.
Because there are no CRLF ;-)

This line
echo 'a\r\nb' > test.txt
should probably be written as
echo -e 'a\r\nb' > test.txt
or better
printf 'a\r\nb' > test.txt

> I am so confused.
Please run

od -c test.txt
and may be
git ls-files --eol

>
> Any pointers?

https://git-scm.com/docs/git-add

What happens if you run the following:
mkdir empty
cd empty
git init
echo "* -text" >.gitattributes
printf '1\r\n2' > test.txt
git add .
git commit -m "Add test.txt with CRLF"

echo "* text=auto eol=lf" >.gitattributes
cp test.txt t2.txt
printf 'a\r\nb' > test.txt
git add .

git commit -m "cp text.txt t2.txt; change test.txt; eol=input"

git add --renormailze test.txt
git commit -m "Normalize line endings in text.txt"







[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux