From: Antoine Pelisse <hidden> Date: 2016-06-15 22:55:36
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.
From: John Moon <hidden> Date: 2016-06-15 22:55:36
$ 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.
From: Antoine Pelisse <hidden> Date: 2016-06-15 22:55:36
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 [off-list ref] wrote:
quoted
$ 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.