#!/bin/sh test_description='difference in submodules' . ./test-lib.sh . "$TEST_DIRECTORY"/diff-lib.sh _z40=0000000000000000000000000000000000000000 test_expect_success setup ' test_tick && test_create_repo sub && ( cd sub && echo hello >world && git add world && git commit -m submodule ) && test_tick && echo frotz >nitfol && git add nitfol sub && git commit -m superproject && ( cd sub && echo goodbye >world && git add world && git commit -m "submodule #2" ) && set x $( cd sub && git rev-list HEAD ) && echo ":160000 160000 $3 $_z40 M sub" >expect ' test_expect_success 'git diff --raw HEAD' ' git diff --raw --abbrev=40 HEAD >actual && test_cmp expect actual ' test_expect_success 'git diff-index --raw HEAD' ' git diff-index --raw HEAD >actual.index && test_cmp expect actual.index ' test_expect_success 'git diff-files --raw' ' git diff-files --raw >actual.files && test_cmp expect actual.files ' test_expect_success 'git diff (empty submodule dir)' ' : >empty && rm -rf sub/* sub/.git && git diff > actual.empty && test_cmp empty actual.empty ' test_expect_success 'conflicted submodule setup' ' # 39 efs c=fffffffffffffffffffffffffffffffffffffff ( echo "000000 $_z40 0 sub" echo "160000 1$c 1 sub" echo "160000 2$c 2 sub" echo "160000 3$c 3 sub" ) | git update-index --index-info && echo >expect.nosub '\''diff --cc sub index 2ffffff,3ffffff..0000000 --- a/sub +++ b/sub @@@ -1,1 -1,1 +1,1 @@@ - Subproject commit 2fffffffffffffffffffffffffffffffffffffff -Subproject commit 3fffffffffffffffffffffffffffffffffffffff ++Subproject commit 0000000000000000000000000000000000000000'\'' && hh=$(git rev-parse HEAD) && sed -e "s/$_z40/$hh/" expect.nosub >expect.withsub ' test_expect_success 'combined (empty submodule)' ' rm -fr sub && mkdir sub && git diff >actual && test_cmp expect.nosub actual ' test_expect_success 'combined (with submodule)' ' rm -fr sub && git clone --no-checkout . sub && git diff >actual && test_cmp expect.withsub actual ' test_done