combine-diff: treat --summary like --stat
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 <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
8290faa077
commit
04b19fcafd
|
@ -1326,6 +1326,7 @@ static const char *path_path(void *obj)
|
||||||
*/
|
*/
|
||||||
#define STAT_FORMAT_MASK (DIFF_FORMAT_NUMSTAT \
|
#define STAT_FORMAT_MASK (DIFF_FORMAT_NUMSTAT \
|
||||||
| DIFF_FORMAT_SHORTSTAT \
|
| DIFF_FORMAT_SHORTSTAT \
|
||||||
|
| DIFF_FORMAT_SUMMARY \
|
||||||
| DIFF_FORMAT_DIFFSTAT)
|
| DIFF_FORMAT_DIFFSTAT)
|
||||||
|
|
||||||
/* find set of paths that every parent touches */
|
/* find set of paths that every parent touches */
|
||||||
|
|
|
@ -98,6 +98,12 @@ test_expect_success setup '
|
||||||
git commit -m "update mode" &&
|
git commit -m "update mode" &&
|
||||||
git checkout -f master &&
|
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 config diff.renames false &&
|
||||||
|
|
||||||
git show-branch
|
git show-branch
|
||||||
|
@ -240,6 +246,7 @@ diff-tree --cc --stat --summary master
|
||||||
diff-tree -c --stat --summary side
|
diff-tree -c --stat --summary side
|
||||||
diff-tree --cc --stat --summary side
|
diff-tree --cc --stat --summary side
|
||||||
diff-tree --cc --shortstat master
|
diff-tree --cc --shortstat master
|
||||||
|
diff-tree --cc --summary REVERSE
|
||||||
# improved by Timo's patch
|
# improved by Timo's patch
|
||||||
diff-tree --cc --patch-with-stat master
|
diff-tree --cc --patch-with-stat master
|
||||||
# improved by Timo's patch
|
# improved by Timo's patch
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
$ git diff-tree --cc --summary REVERSE
|
||||||
|
2562325a7ee916efb2481da93073b82cec801cbc
|
||||||
|
create mode 100644 file1
|
||||||
|
delete mode 100644 file2
|
||||||
|
delete mode 100644 file3
|
||||||
|
$
|
Loading…
Reference in New Issue