Re: [PATCH 0/5] "diff --stat" counting fixes
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:55:28
Antoine Pelisse [off-list ref] writes:
I feel like (but I can obviously be wrong): 1. The info is redundant. When performing a merge, all diffs (without --staged flag) are unmerged
Yes, it is redundant. They are primarily meant as a warning to anybody who runs "git diff --stat" while their index is not fully merged so that they do not mistakenly think they are looking at meaningful numbers. The number of added lines likely includes the conflict markers you haven't dealt with ;-)
2. While status shows the line once, while diff shows the diff for the file once, while diff --shortstat counts the file once, diff --stat shows two lines for the file.
Yeah, don't use shortstat while your index is unmerged.
3. diff --numstat shows two lines for the same file. As a script writer (I guess that's what it's meant for), I would definitely expect uniqueness in third column/filenames.
Then your script wouldn't receive any hint in the output that you are reading from a nonsense input. When you see the same filename twice, you will know there is something strange (not just "I seem to have more added lines than I thought I added -- Ah, I see added files from both sides because I still have conflicts unresolved") that gives you a chance to notice.