Re: Fix "git diff --stat" for interesting - but empty - file changes

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: Fix "git diff --stat" for interesting - but empty - file changes

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:55:03

Linus Torvalds [off-list ref] writes:
So if you did

   chmod +x Makefile
   git diff --stat

before, it would show empty (" 0 files changed"), with this it shows

 Makefile | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

which I think is a more correct diffstat (and then with "--summary" it
shows *what* the metadata change to Makefile was - this is completely
consistent with our handling of renamed files).

Side note: the old behavior was *really* odd. With no changes at all,
"git diff --stat" output was empty. With just a chmod, it said "0
files changed". No way is our legacy behavior sane.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---

This was triggered by kernel developers not noticing that they had
added zero-sized files, because those additions never showed up in the
diffstat.
...
Comments?
I think listing a file whose content remain unchanged with 0 as the
number of lines affected makes sense, and it will mesh well with
Duy's

  http://thread.gmane.org/gmane.comp.version-control.git/207749

I first wondered if we would get a division-by-zero while scaling
the graph, but we do not scale smaller numbers up to fill the
columns, so we should be safe.

These days, we omit 0 insertions and 0 deletions, so I am not sure
what you should get for this case, though:
 Makefile | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
Should we just say "1 file changed"?

Re: Fix "git diff --stat" for interesting - but empty - file changes

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-06-15 22:55:03

On Wed, Oct 17, 2012 at 11:28 AM, Junio C Hamano [off-list ref] wrote:
I think listing a file whose content remain unchanged with 0 as the
number of lines affected makes sense, and it will mesh well with
Duy's

  http://thread.gmane.org/gmane.comp.version-control.git/207749

I first wondered if we would get a division-by-zero while scaling
the graph, but we do not scale smaller numbers up to fill the
columns, so we should be safe.
Note that we should be safe for a totally different - and more
fundamental - reason: the zero line case is by no means new. We've
always done it for the rename case.
These days, we omit 0 insertions and 0 deletions, so I am not sure
what you should get for this case, though:
quoted
 Makefile | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
Should we just say "1 file changed"?
If that is what it does for the rename case, then yes. I think it
should fall out naturally.

              Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help