Skip to content

Commit

Permalink
combine-diff: treat --summary like --stat
Browse files Browse the repository at this point in the history
Currently "--cc --summary" on a merge shows nothing. Since we show "--cc
--stat" as a stat against the first parent, and because --summary is
typically used in combination with --stat, it makes sense to treat them
both the same way.

Note that we have to tweak t4013's setup a bit to test this case, as the
existing merges do not have any --summary results against their first
parent. But since the merge at the tip of 'master' does add and remove
files with respect to the second parent, we can just make a reversed
doppelganger merge where the parents are swapped.

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 8290faa commit 04b19fc
Show file tree
Hide file tree
Showing 3 changed files with 14 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 @@ -1326,6 +1326,7 @@ static const char *path_path(void *obj)
*/
#define STAT_FORMAT_MASK (DIFF_FORMAT_NUMSTAT \
| DIFF_FORMAT_SHORTSTAT \
| DIFF_FORMAT_SUMMARY \
| DIFF_FORMAT_DIFFSTAT)

/* find set of paths that every parent touches */
Expand Down
7 changes: 7 additions & 0 deletions t/t4013-diff-various.sh
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@ test_expect_success setup '
git commit -m "update mode" &&
git checkout -f master &&
# Same merge as master, but with parents reversed. Hide it in a
# pseudo-ref to avoid impacting tests with --all.
commit=$(echo reverse |
git commit-tree -p master^2 -p master^1 master^{tree}) &&
git update-ref REVERSE $commit &&
git config diff.renames false &&
git show-branch
Expand Down Expand Up @@ -240,6 +246,7 @@ diff-tree --cc --stat --summary master
diff-tree -c --stat --summary side
diff-tree --cc --stat --summary side
diff-tree --cc --shortstat master
diff-tree --cc --summary REVERSE
# improved by Timo's patch
diff-tree --cc --patch-with-stat master
# improved by Timo's patch
Expand Down
6 changes: 6 additions & 0 deletions t/t4013/diff.diff-tree_--cc_--summary_REVERSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
$ git diff-tree --cc --summary REVERSE
2562325a7ee916efb2481da93073b82cec801cbc
create mode 100644 file1
delete mode 100644 file2
delete mode 100644 file3
$

0 comments on commit 04b19fc

Please sign in to comment.