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

Re: [PATCH 4/6] combine-diff: treat --shortstat like --stat

From
David Turner <novalis@novalis.org>
Date
Jan 24, 2019, 18:58 UTC
Message-ID
<f2a7e88a9b2f8fc014d4b945b8c9b489c6236436.camel@novalis.org>
In-Reply-To
<20190124123450.GD11354@sigill.intra.peff.net>
Thanks for the fix here.
On Thu, 2019-01-24 at 07:34 -0500, Jeff King wrote:
Show 71 quoted lines
> The --stat of a combined diff is defined as the first-parent stat,
> going all the way back to 965f803c32 (combine-diff: show diffstat
> with
> the first parent., 2006-04-17).
> 
> Naturally, we gave --numstat the same treatment in 74e2abe5b7 (diff
> --numstat, 2006-10-12).
> 
> But --shortstat, which is really just the final line of --stat, does
> nothing, which produces confusing results:
> 
>   $ git show --oneline --stat eab7584e37
>   eab7584e37 Merge branch 'en/show-ref-doc-fix'
> 
>    Documentation/git-show-ref.txt | 2 +-
>    1 file changed, 1 insertion(+), 1 deletion(-)
> 
>   $ git show --oneline --shortstat eab7584e37
>   eab7584e37 Merge branch 'en/show-ref-doc-fix'
> 
>   [nothing! We'd expect to see the "1 file changed..." line]
> 
> This patch teaches combine-diff to treats the two formats
> identically.
> 
> Reported-by: David Turner <novalis@novalis.org>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
>  combine-diff.c                                 | 1 +
>  t/t4013-diff-various.sh                        | 1 +
>  t/t4013/diff.diff-tree_--cc_--shortstat_master | 4 ++++
>  3 files changed, 6 insertions(+)
>  create mode 100644 t/t4013/diff.diff-tree_--cc_--shortstat_master
> 
> diff --git a/combine-diff.c b/combine-diff.c
> index b1d259d5a0..83ec3dfffa 100644
> --- a/combine-diff.c
> +++ b/combine-diff.c
> @@ -1325,6 +1325,7 @@ static const char *path_path(void *obj)
>   * Diff stat formats which we always compute solely against the
> first parent.
>   */
>  #define STAT_FORMAT_MASK (DIFF_FORMAT_NUMSTAT \
> +			  | DIFF_FORMAT_SHORTSTAT \
>  			  | DIFF_FORMAT_DIFFSTAT)
>  
>  /* find set of paths that every parent touches */
> diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh
> index 7d985ff6b1..9ccdf08730 100755
> --- a/t/t4013-diff-various.sh
> +++ b/t/t4013-diff-various.sh
> @@ -239,6 +239,7 @@ diff-tree --cc --stat --summary master
>  # stat summary should show the diffstat and summary with the first
> parent
>  diff-tree -c --stat --summary side
>  diff-tree --cc --stat --summary side
> +diff-tree --cc --shortstat master
>  # improved by Timo's patch
>  diff-tree --cc --patch-with-stat master
>  # improved by Timo's patch
> diff --git a/t/t4013/diff.diff-tree_--cc_--shortstat_master
> b/t/t4013/diff.diff-tree_--cc_--shortstat_master
> new file mode 100644
> index 0000000000..a4ca42df2a
> --- /dev/null
> +++ b/t/t4013/diff.diff-tree_--cc_--shortstat_master
> @@ -0,0 +1,4 @@
> +$ git diff-tree --cc --shortstat master
> +59d314ad6f356dd08601a4cd5e530381da3e3c64
> + 2 files changed, 5 insertions(+)
> +$
Previous: Jeff KingNext: Stefan Beller
Message 13 of 19 in “some diff --cc --stat fixes”
  1. 0/6 some diff --cc --stat fixesJeff King, Jan 24, 2019
  2. 1/6 t4006: resurrect commented-out testsJeff King, Jan 24, 2019
  3. Stefan BellerJan 24, 2019
  4. 2/6 diff: clear emitted_symbols flag after useJeff King, Jan 24, 2019
  5. Stefan BellerJan 24, 2019
  6. Jeff KingJan 24, 2019
  7. Junio C HamanoJan 24, 2019
  8. Stefan BellerJan 24, 2019
  9. Jeff KingJan 24, 2019
  10. Jeff KingJan 24, 2019
  11. 3/6 combine-diff: factor out stat-format maskJeff King, Jan 24, 2019
  12. 4/6 combine-diff: treat --shortstat like --statJeff King, Jan 24, 2019
  13. David TurnerJan 24, 2019
  14. Stefan BellerJan 24, 2019
  15. 5/6 combine-diff: treat --summary like --statJeff King, Jan 24, 2019
  16. Stefan BellerJan 24, 2019
  17. Jeff KingJan 24, 2019
  18. 6/6 combine-diff: treat --dirstat like --statJeff King, Jan 24, 2019
  19. Stefan BellerJan 24, 2019

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.