git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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/
Previous: Michael J GruberNext: Michael J Gruber
Message 7 of 13 in “diff --shortstat --dirstat: remove duplicate output”
  1. diff --shortstat --dirstat: remove duplicate outputMårten Kongstad, Feb 28, 2015
  2. Johan HerlandFeb 28, 2015
  3. Junio C HamanoMar 1, 2015
  4. diff --shortstat --dirstat: remove duplicate outputMårten Kongstad, Mar 1, 2015
  5. Torsten BögershausenMar 1, 2015
  6. Michael J GruberMar 1, 2015
  7. Mårten KongstadMar 1, 2015
  8. Michael J GruberMar 1, 2015
  9. Mårten KongstadMar 1, 2015
  10. SZEDER GáborMar 2, 2015
  11. diff --shortstat --dirstat: remove duplicate outputMårten Kongstad, Mar 2, 2015
  12. Junio C HamanoMar 5, 2015
  13. Jeff KingMar 4, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.