Browse Source
Currently, t4013 is the only selftest that exercises the --dirstat machinery, but it only does a superficial verification of --dirstat's output. This patch adds a new selftest - t4047-diff-dirstat.sh - which prepares a commit containing: - unchanged files, changed files and files with rearranged lines - copied files, moved files, and unmoved files It then verifies the correct dirstat output for that commit in the following dirstat modes: - --dirstat - -X - --dirstat=0 - -X0 - --cumulative - --dirstat-by-file - (plus combinations of the above) Each of the above tests are also run with: - no rename detection - rename detection (-M) - expensive copy detection (-C -C) Improved-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
Johan Herland
14 years ago
committed by
Junio C Hamano
1 changed files with 585 additions and 0 deletions
@ -0,0 +1,585 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
test_description='diff --dirstat tests' |
||||||
|
. ./test-lib.sh |
||||||
|
|
||||||
|
# set up two commits where the second commit has these files |
||||||
|
# (10 lines in each file): |
||||||
|
# |
||||||
|
# unchanged/text (unchanged from 1st commit) |
||||||
|
# changed/text (changed 1st line) |
||||||
|
# rearranged/text (swapped 1st and 2nd line) |
||||||
|
# dst/copy/unchanged/text (copied from src/copy/unchanged/text, unchanged) |
||||||
|
# dst/copy/changed/text (copied from src/copy/changed/text, changed) |
||||||
|
# dst/copy/rearranged/text (copied from src/copy/rearranged/text, rearranged) |
||||||
|
# dst/move/unchanged/text (moved from src/move/unchanged/text, unchanged) |
||||||
|
# dst/move/changed/text (moved from src/move/changed/text, changed) |
||||||
|
# dst/move/rearranged/text (moved from src/move/rearranged/text, rearranged) |
||||||
|
|
||||||
|
test_expect_success 'setup' ' |
||||||
|
mkdir unchanged && |
||||||
|
mkdir changed && |
||||||
|
mkdir rearranged && |
||||||
|
mkdir src && |
||||||
|
mkdir src/copy && |
||||||
|
mkdir src/copy/unchanged && |
||||||
|
mkdir src/copy/changed && |
||||||
|
mkdir src/copy/rearranged && |
||||||
|
mkdir src/move && |
||||||
|
mkdir src/move/unchanged && |
||||||
|
mkdir src/move/changed && |
||||||
|
mkdir src/move/rearranged && |
||||||
|
cat <<EOF >unchanged/text && |
||||||
|
unchanged line #0 |
||||||
|
unchanged line #1 |
||||||
|
unchanged line #2 |
||||||
|
unchanged line #3 |
||||||
|
unchanged line #4 |
||||||
|
unchanged line #5 |
||||||
|
unchanged line #6 |
||||||
|
unchanged line #7 |
||||||
|
unchanged line #8 |
||||||
|
unchanged line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >changed/text && |
||||||
|
changed line #0 |
||||||
|
changed line #1 |
||||||
|
changed line #2 |
||||||
|
changed line #3 |
||||||
|
changed line #4 |
||||||
|
changed line #5 |
||||||
|
changed line #6 |
||||||
|
changed line #7 |
||||||
|
changed line #8 |
||||||
|
changed line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >rearranged/text && |
||||||
|
rearranged line #0 |
||||||
|
rearranged line #1 |
||||||
|
rearranged line #2 |
||||||
|
rearranged line #3 |
||||||
|
rearranged line #4 |
||||||
|
rearranged line #5 |
||||||
|
rearranged line #6 |
||||||
|
rearranged line #7 |
||||||
|
rearranged line #8 |
||||||
|
rearranged line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >src/copy/unchanged/text && |
||||||
|
copy unchanged line #0 |
||||||
|
copy unchanged line #1 |
||||||
|
copy unchanged line #2 |
||||||
|
copy unchanged line #3 |
||||||
|
copy unchanged line #4 |
||||||
|
copy unchanged line #5 |
||||||
|
copy unchanged line #6 |
||||||
|
copy unchanged line #7 |
||||||
|
copy unchanged line #8 |
||||||
|
copy unchanged line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >src/copy/changed/text && |
||||||
|
copy changed line #0 |
||||||
|
copy changed line #1 |
||||||
|
copy changed line #2 |
||||||
|
copy changed line #3 |
||||||
|
copy changed line #4 |
||||||
|
copy changed line #5 |
||||||
|
copy changed line #6 |
||||||
|
copy changed line #7 |
||||||
|
copy changed line #8 |
||||||
|
copy changed line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >src/copy/rearranged/text && |
||||||
|
copy rearranged line #0 |
||||||
|
copy rearranged line #1 |
||||||
|
copy rearranged line #2 |
||||||
|
copy rearranged line #3 |
||||||
|
copy rearranged line #4 |
||||||
|
copy rearranged line #5 |
||||||
|
copy rearranged line #6 |
||||||
|
copy rearranged line #7 |
||||||
|
copy rearranged line #8 |
||||||
|
copy rearranged line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >src/move/unchanged/text && |
||||||
|
move unchanged line #0 |
||||||
|
move unchanged line #1 |
||||||
|
move unchanged line #2 |
||||||
|
move unchanged line #3 |
||||||
|
move unchanged line #4 |
||||||
|
move unchanged line #5 |
||||||
|
move unchanged line #6 |
||||||
|
move unchanged line #7 |
||||||
|
move unchanged line #8 |
||||||
|
move unchanged line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >src/move/changed/text && |
||||||
|
move changed line #0 |
||||||
|
move changed line #1 |
||||||
|
move changed line #2 |
||||||
|
move changed line #3 |
||||||
|
move changed line #4 |
||||||
|
move changed line #5 |
||||||
|
move changed line #6 |
||||||
|
move changed line #7 |
||||||
|
move changed line #8 |
||||||
|
move changed line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >src/move/rearranged/text && |
||||||
|
move rearranged line #0 |
||||||
|
move rearranged line #1 |
||||||
|
move rearranged line #2 |
||||||
|
move rearranged line #3 |
||||||
|
move rearranged line #4 |
||||||
|
move rearranged line #5 |
||||||
|
move rearranged line #6 |
||||||
|
move rearranged line #7 |
||||||
|
move rearranged line #8 |
||||||
|
move rearranged line #9 |
||||||
|
EOF |
||||||
|
git add . && |
||||||
|
git commit -m "initial" && |
||||||
|
mkdir dst && |
||||||
|
mkdir dst/copy && |
||||||
|
mkdir dst/copy/unchanged && |
||||||
|
mkdir dst/copy/changed && |
||||||
|
mkdir dst/copy/rearranged && |
||||||
|
mkdir dst/move && |
||||||
|
mkdir dst/move/unchanged && |
||||||
|
mkdir dst/move/changed && |
||||||
|
mkdir dst/move/rearranged && |
||||||
|
cat <<EOF >changed/text && |
||||||
|
CHANGED XXXXXXX line #0 |
||||||
|
changed line #1 |
||||||
|
changed line #2 |
||||||
|
changed line #3 |
||||||
|
changed line #4 |
||||||
|
changed line #5 |
||||||
|
changed line #6 |
||||||
|
changed line #7 |
||||||
|
changed line #8 |
||||||
|
changed line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >rearranged/text && |
||||||
|
rearranged line #1 |
||||||
|
rearranged line #0 |
||||||
|
rearranged line #2 |
||||||
|
rearranged line #3 |
||||||
|
rearranged line #4 |
||||||
|
rearranged line #5 |
||||||
|
rearranged line #6 |
||||||
|
rearranged line #7 |
||||||
|
rearranged line #8 |
||||||
|
rearranged line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >dst/copy/unchanged/text && |
||||||
|
copy unchanged line #0 |
||||||
|
copy unchanged line #1 |
||||||
|
copy unchanged line #2 |
||||||
|
copy unchanged line #3 |
||||||
|
copy unchanged line #4 |
||||||
|
copy unchanged line #5 |
||||||
|
copy unchanged line #6 |
||||||
|
copy unchanged line #7 |
||||||
|
copy unchanged line #8 |
||||||
|
copy unchanged line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >dst/copy/changed/text && |
||||||
|
copy XXXCHANGED line #0 |
||||||
|
copy changed line #1 |
||||||
|
copy changed line #2 |
||||||
|
copy changed line #3 |
||||||
|
copy changed line #4 |
||||||
|
copy changed line #5 |
||||||
|
copy changed line #6 |
||||||
|
copy changed line #7 |
||||||
|
copy changed line #8 |
||||||
|
copy changed line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >dst/copy/rearranged/text && |
||||||
|
copy rearranged line #1 |
||||||
|
copy rearranged line #0 |
||||||
|
copy rearranged line #2 |
||||||
|
copy rearranged line #3 |
||||||
|
copy rearranged line #4 |
||||||
|
copy rearranged line #5 |
||||||
|
copy rearranged line #6 |
||||||
|
copy rearranged line #7 |
||||||
|
copy rearranged line #8 |
||||||
|
copy rearranged line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >dst/move/unchanged/text && |
||||||
|
move unchanged line #0 |
||||||
|
move unchanged line #1 |
||||||
|
move unchanged line #2 |
||||||
|
move unchanged line #3 |
||||||
|
move unchanged line #4 |
||||||
|
move unchanged line #5 |
||||||
|
move unchanged line #6 |
||||||
|
move unchanged line #7 |
||||||
|
move unchanged line #8 |
||||||
|
move unchanged line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >dst/move/changed/text && |
||||||
|
move XXXCHANGED line #0 |
||||||
|
move changed line #1 |
||||||
|
move changed line #2 |
||||||
|
move changed line #3 |
||||||
|
move changed line #4 |
||||||
|
move changed line #5 |
||||||
|
move changed line #6 |
||||||
|
move changed line #7 |
||||||
|
move changed line #8 |
||||||
|
move changed line #9 |
||||||
|
EOF |
||||||
|
cat <<EOF >dst/move/rearranged/text && |
||||||
|
move rearranged line #1 |
||||||
|
move rearranged line #0 |
||||||
|
move rearranged line #2 |
||||||
|
move rearranged line #3 |
||||||
|
move rearranged line #4 |
||||||
|
move rearranged line #5 |
||||||
|
move rearranged line #6 |
||||||
|
move rearranged line #7 |
||||||
|
move rearranged line #8 |
||||||
|
move rearranged line #9 |
||||||
|
EOF |
||||||
|
git add . && |
||||||
|
git rm -r src/move/unchanged && |
||||||
|
git rm -r src/move/changed && |
||||||
|
git rm -r src/move/rearranged && |
||||||
|
git commit -m "changes" |
||||||
|
' |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_stat |
||||||
|
changed/text | 2 +- |
||||||
|
dst/copy/changed/text | 10 ++++++++++ |
||||||
|
dst/copy/rearranged/text | 10 ++++++++++ |
||||||
|
dst/copy/unchanged/text | 10 ++++++++++ |
||||||
|
dst/move/changed/text | 10 ++++++++++ |
||||||
|
dst/move/rearranged/text | 10 ++++++++++ |
||||||
|
dst/move/unchanged/text | 10 ++++++++++ |
||||||
|
rearranged/text | 2 +- |
||||||
|
src/move/changed/text | 10 ---------- |
||||||
|
src/move/rearranged/text | 10 ---------- |
||||||
|
src/move/unchanged/text | 10 ---------- |
||||||
|
11 files changed, 62 insertions(+), 32 deletions(-) |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_stat_M |
||||||
|
changed/text | 2 +- |
||||||
|
dst/copy/changed/text | 10 ++++++++++ |
||||||
|
dst/copy/rearranged/text | 10 ++++++++++ |
||||||
|
dst/copy/unchanged/text | 10 ++++++++++ |
||||||
|
{src => dst}/move/changed/text | 2 +- |
||||||
|
{src => dst}/move/rearranged/text | 2 +- |
||||||
|
{src => dst}/move/unchanged/text | 0 |
||||||
|
rearranged/text | 2 +- |
||||||
|
8 files changed, 34 insertions(+), 4 deletions(-) |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_stat_CC |
||||||
|
changed/text | 2 +- |
||||||
|
{src => dst}/copy/changed/text | 2 +- |
||||||
|
{src => dst}/copy/rearranged/text | 2 +- |
||||||
|
{src => dst}/copy/unchanged/text | 0 |
||||||
|
{src => dst}/move/changed/text | 2 +- |
||||||
|
{src => dst}/move/rearranged/text | 2 +- |
||||||
|
{src => dst}/move/unchanged/text | 0 |
||||||
|
rearranged/text | 2 +- |
||||||
|
8 files changed, 6 insertions(+), 6 deletions(-) |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success 'sanity check setup (--stat)' ' |
||||||
|
git diff --stat HEAD^..HEAD >actual_diff_stat && |
||||||
|
test_cmp expect_diff_stat actual_diff_stat && |
||||||
|
git diff --stat -M HEAD^..HEAD >actual_diff_stat_M && |
||||||
|
test_cmp expect_diff_stat_M actual_diff_stat_M && |
||||||
|
git diff --stat -C -C HEAD^..HEAD >actual_diff_stat_CC && |
||||||
|
test_cmp expect_diff_stat_CC actual_diff_stat_CC |
||||||
|
' |
||||||
|
|
||||||
|
# changed/text and rearranged/text falls below default 3% threshold |
||||||
|
cat <<EOF >expect_diff_dirstat |
||||||
|
10.8% dst/copy/changed/ |
||||||
|
10.8% dst/copy/rearranged/ |
||||||
|
10.8% dst/copy/unchanged/ |
||||||
|
10.8% dst/move/changed/ |
||||||
|
10.8% dst/move/rearranged/ |
||||||
|
10.8% dst/move/unchanged/ |
||||||
|
10.8% src/move/changed/ |
||||||
|
10.8% src/move/rearranged/ |
||||||
|
10.8% src/move/unchanged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
# rearranged/text falls below default 3% threshold |
||||||
|
cat <<EOF >expect_diff_dirstat_M |
||||||
|
5.8% changed/ |
||||||
|
29.3% dst/copy/changed/ |
||||||
|
29.3% dst/copy/rearranged/ |
||||||
|
29.3% dst/copy/unchanged/ |
||||||
|
5.8% dst/move/changed/ |
||||||
|
EOF |
||||||
|
|
||||||
|
# rearranged/text falls below default 3% threshold |
||||||
|
cat <<EOF >expect_diff_dirstat_CC |
||||||
|
32.6% changed/ |
||||||
|
32.6% dst/copy/changed/ |
||||||
|
32.6% dst/move/changed/ |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success 'various ways to misspell --dirstat' ' |
||||||
|
test_must_fail git show --dirstat10 && |
||||||
|
test_must_fail git show -X=20 |
||||||
|
' |
||||||
|
|
||||||
|
test_expect_success 'vanilla --dirstat' ' |
||||||
|
git diff --dirstat HEAD^..HEAD >actual_diff_dirstat && |
||||||
|
test_cmp expect_diff_dirstat actual_diff_dirstat && |
||||||
|
git diff --dirstat -M HEAD^..HEAD >actual_diff_dirstat_M && |
||||||
|
test_cmp expect_diff_dirstat_M actual_diff_dirstat_M && |
||||||
|
git diff --dirstat -C -C HEAD^..HEAD >actual_diff_dirstat_CC && |
||||||
|
test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC |
||||||
|
' |
||||||
|
|
||||||
|
test_expect_success 'vanilla -X' ' |
||||||
|
git diff -X HEAD^..HEAD >actual_diff_dirstat && |
||||||
|
test_cmp expect_diff_dirstat actual_diff_dirstat && |
||||||
|
git diff -X -M HEAD^..HEAD >actual_diff_dirstat_M && |
||||||
|
test_cmp expect_diff_dirstat_M actual_diff_dirstat_M && |
||||||
|
git diff -X -C -C HEAD^..HEAD >actual_diff_dirstat_CC && |
||||||
|
test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC |
||||||
|
' |
||||||
|
|
||||||
|
# rearranged/text falls below 0% threshold (1 / (240 * 9 + 48 + 1) ~= 0.045 %) |
||||||
|
cat <<EOF >expect_diff_dirstat |
||||||
|
2.1% changed/ |
||||||
|
10.8% dst/copy/changed/ |
||||||
|
10.8% dst/copy/rearranged/ |
||||||
|
10.8% dst/copy/unchanged/ |
||||||
|
10.8% dst/move/changed/ |
||||||
|
10.8% dst/move/rearranged/ |
||||||
|
10.8% dst/move/unchanged/ |
||||||
|
10.8% src/move/changed/ |
||||||
|
10.8% src/move/rearranged/ |
||||||
|
10.8% src/move/unchanged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_M |
||||||
|
5.8% changed/ |
||||||
|
29.3% dst/copy/changed/ |
||||||
|
29.3% dst/copy/rearranged/ |
||||||
|
29.3% dst/copy/unchanged/ |
||||||
|
5.8% dst/move/changed/ |
||||||
|
0.1% dst/move/rearranged/ |
||||||
|
0.1% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_CC |
||||||
|
32.6% changed/ |
||||||
|
32.6% dst/copy/changed/ |
||||||
|
0.6% dst/copy/rearranged/ |
||||||
|
32.6% dst/move/changed/ |
||||||
|
0.6% dst/move/rearranged/ |
||||||
|
0.6% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success '--dirstat=0' ' |
||||||
|
git diff --dirstat=0 HEAD^..HEAD >actual_diff_dirstat && |
||||||
|
test_cmp expect_diff_dirstat actual_diff_dirstat && |
||||||
|
git diff --dirstat=0 -M HEAD^..HEAD >actual_diff_dirstat_M && |
||||||
|
test_cmp expect_diff_dirstat_M actual_diff_dirstat_M && |
||||||
|
git diff --dirstat=0 -C -C HEAD^..HEAD >actual_diff_dirstat_CC && |
||||||
|
test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC |
||||||
|
' |
||||||
|
|
||||||
|
test_expect_success '-X0' ' |
||||||
|
git diff -X0 HEAD^..HEAD >actual_diff_dirstat && |
||||||
|
test_cmp expect_diff_dirstat actual_diff_dirstat && |
||||||
|
git diff -X0 -M HEAD^..HEAD >actual_diff_dirstat_M && |
||||||
|
test_cmp expect_diff_dirstat_M actual_diff_dirstat_M && |
||||||
|
git diff -X0 -C -C HEAD^..HEAD >actual_diff_dirstat_CC && |
||||||
|
test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC |
||||||
|
' |
||||||
|
|
||||||
|
# rearranged/text falls below 0% threshold (1 / (240 * 9 + 48 + 1) ~= 0.045 %) |
||||||
|
cat <<EOF >expect_diff_dirstat |
||||||
|
2.1% changed/ |
||||||
|
10.8% dst/copy/changed/ |
||||||
|
10.8% dst/copy/rearranged/ |
||||||
|
10.8% dst/copy/unchanged/ |
||||||
|
32.5% dst/copy/ |
||||||
|
10.8% dst/move/changed/ |
||||||
|
10.8% dst/move/rearranged/ |
||||||
|
10.8% dst/move/unchanged/ |
||||||
|
32.5% dst/move/ |
||||||
|
65.1% dst/ |
||||||
|
10.8% src/move/changed/ |
||||||
|
10.8% src/move/rearranged/ |
||||||
|
10.8% src/move/unchanged/ |
||||||
|
32.5% src/move/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_M |
||||||
|
5.8% changed/ |
||||||
|
29.3% dst/copy/changed/ |
||||||
|
29.3% dst/copy/rearranged/ |
||||||
|
29.3% dst/copy/unchanged/ |
||||||
|
88.0% dst/copy/ |
||||||
|
5.8% dst/move/changed/ |
||||||
|
0.1% dst/move/rearranged/ |
||||||
|
5.9% dst/move/ |
||||||
|
94.0% dst/ |
||||||
|
0.1% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_CC |
||||||
|
32.6% changed/ |
||||||
|
32.6% dst/copy/changed/ |
||||||
|
0.6% dst/copy/rearranged/ |
||||||
|
33.3% dst/copy/ |
||||||
|
32.6% dst/move/changed/ |
||||||
|
0.6% dst/move/rearranged/ |
||||||
|
33.3% dst/move/ |
||||||
|
66.6% dst/ |
||||||
|
0.6% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success '--dirstat=0 --cumulative' ' |
||||||
|
git diff --dirstat=0 --cumulative HEAD^..HEAD >actual_diff_dirstat && |
||||||
|
test_cmp expect_diff_dirstat actual_diff_dirstat && |
||||||
|
git diff --dirstat=0 --cumulative -M HEAD^..HEAD >actual_diff_dirstat_M && |
||||||
|
test_cmp expect_diff_dirstat_M actual_diff_dirstat_M && |
||||||
|
git diff --dirstat=0 --cumulative -C -C HEAD^..HEAD >actual_diff_dirstat_CC && |
||||||
|
test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC |
||||||
|
' |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat |
||||||
|
9.0% changed/ |
||||||
|
9.0% dst/copy/changed/ |
||||||
|
9.0% dst/copy/rearranged/ |
||||||
|
9.0% dst/copy/unchanged/ |
||||||
|
9.0% dst/move/changed/ |
||||||
|
9.0% dst/move/rearranged/ |
||||||
|
9.0% dst/move/unchanged/ |
||||||
|
9.0% rearranged/ |
||||||
|
9.0% src/move/changed/ |
||||||
|
9.0% src/move/rearranged/ |
||||||
|
9.0% src/move/unchanged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_M |
||||||
|
14.2% changed/ |
||||||
|
14.2% dst/copy/changed/ |
||||||
|
14.2% dst/copy/rearranged/ |
||||||
|
14.2% dst/copy/unchanged/ |
||||||
|
14.2% dst/move/changed/ |
||||||
|
14.2% dst/move/rearranged/ |
||||||
|
14.2% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_CC |
||||||
|
16.6% changed/ |
||||||
|
16.6% dst/copy/changed/ |
||||||
|
16.6% dst/copy/rearranged/ |
||||||
|
16.6% dst/move/changed/ |
||||||
|
16.6% dst/move/rearranged/ |
||||||
|
16.6% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success '--dirstat-by-file' ' |
||||||
|
git diff --dirstat-by-file HEAD^..HEAD >actual_diff_dirstat && |
||||||
|
test_cmp expect_diff_dirstat actual_diff_dirstat && |
||||||
|
git diff --dirstat-by-file -M HEAD^..HEAD >actual_diff_dirstat_M && |
||||||
|
test_cmp expect_diff_dirstat_M actual_diff_dirstat_M && |
||||||
|
git diff --dirstat-by-file -C -C HEAD^..HEAD >actual_diff_dirstat_CC && |
||||||
|
test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC |
||||||
|
' |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat |
||||||
|
27.2% dst/copy/ |
||||||
|
27.2% dst/move/ |
||||||
|
27.2% src/move/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_M |
||||||
|
14.2% changed/ |
||||||
|
14.2% dst/copy/changed/ |
||||||
|
14.2% dst/copy/rearranged/ |
||||||
|
14.2% dst/copy/unchanged/ |
||||||
|
14.2% dst/move/changed/ |
||||||
|
14.2% dst/move/rearranged/ |
||||||
|
14.2% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_CC |
||||||
|
16.6% changed/ |
||||||
|
16.6% dst/copy/changed/ |
||||||
|
16.6% dst/copy/rearranged/ |
||||||
|
16.6% dst/move/changed/ |
||||||
|
16.6% dst/move/rearranged/ |
||||||
|
16.6% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success '--dirstat-by-file=10' ' |
||||||
|
git diff --dirstat-by-file=10 HEAD^..HEAD >actual_diff_dirstat && |
||||||
|
test_cmp expect_diff_dirstat actual_diff_dirstat && |
||||||
|
git diff --dirstat-by-file=10 -M HEAD^..HEAD >actual_diff_dirstat_M && |
||||||
|
test_cmp expect_diff_dirstat_M actual_diff_dirstat_M && |
||||||
|
git diff --dirstat-by-file=10 -C -C HEAD^..HEAD >actual_diff_dirstat_CC && |
||||||
|
test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC |
||||||
|
' |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat |
||||||
|
9.0% changed/ |
||||||
|
9.0% dst/copy/changed/ |
||||||
|
9.0% dst/copy/rearranged/ |
||||||
|
9.0% dst/copy/unchanged/ |
||||||
|
27.2% dst/copy/ |
||||||
|
9.0% dst/move/changed/ |
||||||
|
9.0% dst/move/rearranged/ |
||||||
|
9.0% dst/move/unchanged/ |
||||||
|
27.2% dst/move/ |
||||||
|
54.5% dst/ |
||||||
|
9.0% rearranged/ |
||||||
|
9.0% src/move/changed/ |
||||||
|
9.0% src/move/rearranged/ |
||||||
|
9.0% src/move/unchanged/ |
||||||
|
27.2% src/move/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_M |
||||||
|
14.2% changed/ |
||||||
|
14.2% dst/copy/changed/ |
||||||
|
14.2% dst/copy/rearranged/ |
||||||
|
14.2% dst/copy/unchanged/ |
||||||
|
42.8% dst/copy/ |
||||||
|
14.2% dst/move/changed/ |
||||||
|
14.2% dst/move/rearranged/ |
||||||
|
28.5% dst/move/ |
||||||
|
71.4% dst/ |
||||||
|
14.2% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
cat <<EOF >expect_diff_dirstat_CC |
||||||
|
16.6% changed/ |
||||||
|
16.6% dst/copy/changed/ |
||||||
|
16.6% dst/copy/rearranged/ |
||||||
|
33.3% dst/copy/ |
||||||
|
16.6% dst/move/changed/ |
||||||
|
16.6% dst/move/rearranged/ |
||||||
|
33.3% dst/move/ |
||||||
|
66.6% dst/ |
||||||
|
16.6% rearranged/ |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success '--dirstat-by-file --cumulative' ' |
||||||
|
git diff --dirstat-by-file --cumulative HEAD^..HEAD >actual_diff_dirstat && |
||||||
|
test_cmp expect_diff_dirstat actual_diff_dirstat && |
||||||
|
git diff --dirstat-by-file --cumulative -M HEAD^..HEAD >actual_diff_dirstat_M && |
||||||
|
test_cmp expect_diff_dirstat_M actual_diff_dirstat_M && |
||||||
|
git diff --dirstat-by-file --cumulative -C -C HEAD^..HEAD >actual_diff_dirstat_CC && |
||||||
|
test_cmp expect_diff_dirstat_CC actual_diff_dirstat_CC |
||||||
|
' |
||||||
|
|
||||||
|
test_done |
Loading…
Reference in new issue