# git diff --ignore-space-at-eol issue

4 messages from 2012-12-21 to 2012-12-28. Participants: John Moon, Antoine Pelisse.
Thread: https://gitlist.dev/t/32429

## John Moon, 2012-12-21 15:04

Subject: git diff --ignore-space-at-eol issue
Message-ID: <BLU163-W40634B340214076467C88ECF360@phx.gbl>
URL: https://gitlist.dev/e/BLU163-W40634B340214076467C88ECF360%40phx.gbl

```

Hi all,

The --ignore-space-at-eol option is ignored when used in conjunction 
with --name-status.
It works fine otherwise.

$ git init
Initialized empty Git repository in /tmp/test/.git/
$ printf "hello\r\n" > test.txt
$git -c core.autocrlf=false add test.txt
$git commit -m.
[master (root-commit) 5c4ce92] .
1 file changed, 1 insertion(+)
create mode 100644 test.txt
$ printf "hello" > test.txt
$ git diff --ignore-space-at-eol test.txt
$ git diff --stat --ignore-space-at-eol test.txt
0 files changed
$ git diff --name-status --ignore-space-at-eol test.txt
M test.txt


Thanks.

 		 	   		  
```

## Antoine Pelisse, 2012-12-28 16:46

Subject: Re: git diff --ignore-space-at-eol issue
Message-ID: <CALWbr2y3BdqcD-62jhPSQsK3U=8-Dc=R-jxg8H0yqpgVfdHJXw@mail.gmail.com>
URL: https://gitlist.dev/e/CALWbr2y3BdqcD-62jhPSQsK3U%3D8-Dc%3DR-jxg8H0yqpgVfdHJXw%40mail.gmail.com
In-Reply-To: <BLU163-W40634B340214076467C88ECF360@phx.gbl>

```
> The --ignore-space-at-eol option is ignored when used in conjunction
> with --name-status.
> It works fine otherwise.

Indeed the behavior of diff --stat, and etc has been corrected very
recently to make it more consistent across all options.
I don't know if the new behavior is exactly what you expected:

$ git diff --ignore-space-at-eol test.txt
$ git diff --ignore-space-at-eol --stat test.txt
 test.txt | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
$ git diff --ignore-space-at-eol --name-status test.txt
M       test.txt

The idea is that even though diff doesn't show any differences, stat,
shortstat, numstat and name-status reports the file as being changed.
This is available since v1.8.1-rc0.

```

## John Moon, 2012-12-28 19:59

Subject: RE: git diff --ignore-space-at-eol issue
Message-ID: <BLU163-W51DAB90003C969CDF837A2CF3F0@phx.gbl>
URL: https://gitlist.dev/e/BLU163-W51DAB90003C969CDF837A2CF3F0%40phx.gbl
In-Reply-To: <CALWbr2y3BdqcD-62jhPSQsK3U=8-Dc=R-jxg8H0yqpgVfdHJXw@mail.gmail.com>

```


> $ git diff --ignore-space-at-eol test.txt
> $ git diff --ignore-space-at-eol --stat test.txt
> test.txt | 0
> 1 file changed, 0 insertions(+), 0 deletions(-)
> $ git diff --ignore-space-at-eol --name-status test.txt
> M test.txt
>
> The idea is that even though diff doesn't show any differences, stat,
> shortstat, numstat and name-status reports the file as being changed.
> This is available since v1.8.1-rc0.

Thanks for the info.  Unfortunately it's not what i would expect.  
If i told git diff specifically to ignore line endings, why is --name-status  showing me a file as being modified when the only modification is the very thing i told it to ignore.  
The same thing for --stat, why is it showing me a file with zero changes?  Just my opinion though.

I'll tell you why this is a problem for me, basically what i am doing is running the "git diff --ignore-space-at-eol --name-status "  on my root directory to give to someone else who is not using git to give them the files that i have modified.  I don't want to give them a file where only the line ending has changed.

Cheers. 		 	   		  
```

## Antoine Pelisse, 2012-12-28 20:33

Subject: Re: git diff --ignore-space-at-eol issue
Message-ID: <CALWbr2zSe6GEy=_7SXqRocKwhXauXmP7eMMmDur4Vg7npqBPyg@mail.gmail.com>
URL: https://gitlist.dev/e/CALWbr2zSe6GEy%3D_7SXqRocKwhXauXmP7eMMmDur4Vg7npqBPyg%40mail.gmail.com
In-Reply-To: <BLU163-W51DAB90003C969CDF837A2CF3F0@phx.gbl>

```
Then you should give the output of diff --stat, and he will be able to
ignore files with no changes.

The change was originally made for permission changes. diff --stat
needs to show files have changed even though, indeed, there is no diff
output.

You could also use --numstat and filter out files with no changes
(starting by 0 0).

On Fri, Dec 28, 2012 at 8:59 PM, John Moon <johnmoon77@hotmail.com> wrote:
>
>
>> $ git diff --ignore-space-at-eol test.txt
>> $ git diff --ignore-space-at-eol --stat test.txt
>> test.txt | 0
>> 1 file changed, 0 insertions(+), 0 deletions(-)
>> $ git diff --ignore-space-at-eol --name-status test.txt
>> M test.txt
>>
>> The idea is that even though diff doesn't show any differences, stat,
>> shortstat, numstat and name-status reports the file as being changed.
>> This is available since v1.8.1-rc0.
>
> Thanks for the info.  Unfortunately it's not what i would expect.
> If i told git diff specifically to ignore line endings, why is --name-status  showing me a file as being modified when the only modification is the very thing i told it to ignore.
> The same thing for --stat, why is it showing me a file with zero changes?  Just my opinion though.
>
> I'll tell you why this is a problem for me, basically what i am doing is running the "git diff --ignore-space-at-eol --name-status "  on my root directory to give to someone else who is not using git to give them the files that i have modified.  I don't want to give them a file where only the line ending has changed.
>
> Cheers.

```
