Junio C Hamano <gits...@pobox.com> writes:

> Johannes Sixt <j.s...@viscovery.net> writes:
>
>>> It turns out that there are at least two bugs in the diffstat
>>> counting code.  This series comes on top of the earlier 74faaa1 (Fix
>>> "git diff --stat" for interesting - but empty - file changes,
>>> 2012-10-17) to fix them.
>>
>> The tests still fail on Windows. I am not sure whether there is a
>> difference in comparing the file system against the index or a commit.
>> If there is, then the updated tests might not test the same thing.
>
> The hunks in the patch look fine.  The last one that tests unmerged
> entries do not have to have "chmod" if it gives you trouble (you
> would need to reduce number of files from 4 to 3 if you go that
> route, I think).

That is, something like this.

-- >8 --
Subject: [PATCH] t4049: refocus tests

The primary thing Linus's patch wanted to change was to make sure
that 0-line change appears for a mode-only change.  Update the
first test to chmod a file that we can see in the output (limited
by --stat-count) to demonstrate it.  Also make sure to use test_chmod
and compare the index and the tree, so that we can run this test
even on a filesystem without permission bits.

Later two tests are about fixes to separate issues that were
introduced and/or uncovered by Linus's patch as a side effect, but
the issues are not related to mode-only changes.  Remove chmod from
the tests.

Signed-off-by: Junio C Hamano <gits...@pobox.com>
---
 t/t4049-diff-stat-count.sh | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/t/t4049-diff-stat-count.sh b/t/t4049-diff-stat-count.sh
index 37f50cd..5b594e8 100755
--- a/t/t4049-diff-stat-count.sh
+++ b/t/t4049-diff-stat-count.sh
@@ -13,32 +13,31 @@ test_expect_success 'setup' '
        git commit -m initial
 '
 
-test_expect_success 'limit output to 2 (simple)' '
+test_expect_success 'mode-only change show as a 0-line change' '
        git reset --hard &&
-       chmod +x c d &&
+       test_chmod +x b d &&
        echo a >a &&
-       echo b >b &&
+       echo c >c &&
        cat >expect <<-\EOF
         a | 1 +
-        b | 1 +
+        b | 0
         ...
         4 files changed, 2 insertions(+)
        EOF
-       git diff --stat --stat-count=2 >actual &&
+       git diff --stat --stat-count=2 HEAD >actual &&
        test_i18ncmp expect actual
 '
 
 test_expect_success 'binary changes do not count in lines' '
        git reset --hard &&
-       chmod +x c d &&
        echo a >a &&
-       echo b >b &&
+       echo c >c &&
        cat "$TEST_DIRECTORY"/test-binary-1.png >d &&
        cat >expect <<-\EOF
         a | 1 +
-        b | 1 +
+        c | 1 +
         ...
-        4 files changed, 2 insertions(+)
+        3 files changed, 2 insertions(+)
        EOF
        git diff --stat --stat-count=2 >actual &&
        test_i18ncmp expect actual
@@ -56,12 +55,11 @@ test_expect_success 'exclude unmerged entries from total 
file count' '
        done |
        git update-index --index-info &&
        echo d >d &&
-       chmod +x c d &&
        cat >expect <<-\EOF
         a | 1 +
         b | 1 +
         ...
-        4 files changed, 3 insertions(+)
+        3 files changed, 3 insertions(+)
        EOF
        git diff --stat --stat-count=2 >actual &&
        test_i18ncmp expect actual
-- 
1.8.0.1.407.g3c58eb7


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to