Re: [PATCH v2] diff --shortstat --dirstat: remove duplicate output
- From
Mårten Kongstad <marten.kongstad@gmail.com>
- Date
- Mar 1, 2015, 16:01 UTC
- Message-ID
- <20150301160125.GB5307@laptop>
- In-Reply-To
- <54F320E9.1000006@drmicha.warpmail.net>
On Sun, Mar 01, 2015 at 03:23:37PM +0100, Michael J Gruber wrote: []
Show 15 quoted lines
> If I would have had to guess from the documentation: What does "git diff > --dirstat --shortstat" do? I would have answered: It displays both the > dirstat and the shortstat. > > So, is what you are trying to "fix" a peculiarity of > "--dirstat=changes", or do you simplify prefer --dirstat and --shortstat > to override each other? > > Maybe I'm overlooking something (and that's not a rhetorical > conditional), but if you specify both options when you want the output > of only one them, the answer would be the obvious one, not a patch, > wouldn't it? > > If there is indeed a good reason to change the behavior it should be > documented.
I interpret the documentation the same way as you do. The problem is that the dirstat is displayed twice for --dirstat=changes (or --dirstat=files):
$ git diff --dirstat=changes,10 --shortstat v2.2.0..v2.2.1 23 files changed, 453 insertions(+), 54 deletions(-) 33.5% Documentation/RelNotes/ 26.2% t/ 46.6% Documentation/RelNotes/ 16.6% t/
but only once for --dirstat=lines:
$ git diff --dirstat=lines,10 --shortstat v2.2.0..v2.2.1 23 files changed, 453 insertions(+), 54 deletions(-) 33.5% Documentation/RelNotes/ 26.2% t/
This behaviour is either a bug, or an inconsistency not immediately apparent to the user.
The proposed patch will make the 'changes' and 'files' cases behave like 'lines', i.e. output one shortstat and (only) one dirstat:
$ patched-version-of-git diff --dirstat=changes,10 --shortstat v2.2.0..v2.2.1 23 files changed, 453 insertions(+), 54 deletions(-) 46.6% Documentation/RelNotes/ 16.6% t/