Skip to content

Commit

Permalink
combine-diff: treat --shortstat like --stat
Browse files Browse the repository at this point in the history
The --stat of a combined diff is defined as the first-parent stat,
going all the way back to 965f803 (combine-diff: show diffstat with
the first parent., 2006-04-17).

Naturally, we gave --numstat the same treatment in 74e2abe (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 eab7584
  eab7584 Merge branch 'en/show-ref-doc-fix'

   Documentation/git-show-ref.txt | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)

  $ git show --oneline --shortstat eab7584
  eab7584 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 <[email protected]>
Signed-off-by: Jeff King <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
peff authored and gitster committed Jan 24, 2019
1 parent 8817f0c commit 8290faa
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 0 deletions.
1 change: 1 addition & 0 deletions combine-diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
1 change: 1 addition & 0 deletions t/t4013-diff-various.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions t/t4013/diff.diff-tree_--cc_--shortstat_master
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
$ git diff-tree --cc --shortstat master
59d314ad6f356dd08601a4cd5e530381da3e3c64
2 files changed, 5 insertions(+)
$

0 comments on commit 8290faa

Please sign in to comment.