diff options
Diffstat (limited to 'third_party/git/t/t4027-diff-submodule.sh')
-rwxr-xr-x | third_party/git/t/t4027-diff-submodule.sh | 285 |
1 files changed, 0 insertions, 285 deletions
diff --git a/third_party/git/t/t4027-diff-submodule.sh b/third_party/git/t/t4027-diff-submodule.sh deleted file mode 100755 index d7145ccca4b8..000000000000 --- a/third_party/git/t/t4027-diff-submodule.sh +++ /dev/null @@ -1,285 +0,0 @@ -#!/bin/sh - -test_description='difference in submodules' - -. ./test-lib.sh -. "$TEST_DIRECTORY"/diff-lib.sh - -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 $ZERO_OID M sub" >expect && - subtip=$3 subprev=$2 -' - -test_expect_success 'git diff --raw HEAD' ' - hexsz=$(test_oid hexsz) && - git diff --raw --abbrev=$hexsz 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 -' - -expect_from_to () { - printf "%sSubproject commit %s\n+Subproject commit %s\n" \ - "-" "$1" "$2" -} - -test_expect_success 'git diff HEAD' ' - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subtip $subprev && - test_cmp expect.body actual.body -' - -test_expect_success 'git diff HEAD with dirty submodule (work tree)' ' - echo >>sub/world && - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subtip $subprev-dirty && - test_cmp expect.body actual.body -' - -test_expect_success 'git diff HEAD with dirty submodule (index)' ' - ( - cd sub && - git reset --hard && - echo >>world && - git add world - ) && - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subtip $subprev-dirty && - test_cmp expect.body actual.body -' - -test_expect_success 'git diff HEAD with dirty submodule (untracked)' ' - ( - cd sub && - git reset --hard && - git clean -qfdx && - >cruft - ) && - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subtip $subprev-dirty && - test_cmp expect.body actual.body -' - -test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match)' ' - git commit -m "x" sub && - echo >>sub/world && - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subprev $subprev-dirty && - test_cmp expect.body actual.body && - git diff --ignore-submodules HEAD >actual2 && - test_must_be_empty actual2 && - git diff --ignore-submodules=untracked HEAD >actual3 && - sed -e "1,/^@@/d" actual3 >actual3.body && - expect_from_to >expect.body $subprev $subprev-dirty && - test_cmp expect.body actual3.body && - git diff --ignore-submodules=dirty HEAD >actual4 && - test_must_be_empty actual4 -' - -test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match) [.gitmodules]' ' - git config diff.ignoreSubmodules dirty && - git diff HEAD >actual && - test_must_be_empty actual && - git config --add -f .gitmodules submodule.subname.ignore none && - git config --add -f .gitmodules submodule.subname.path sub && - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subprev $subprev-dirty && - test_cmp expect.body actual.body && - git config -f .gitmodules submodule.subname.ignore all && - git config -f .gitmodules submodule.subname.path sub && - git diff HEAD >actual2 && - test_must_be_empty actual2 && - git config -f .gitmodules submodule.subname.ignore untracked && - git diff HEAD >actual3 && - sed -e "1,/^@@/d" actual3 >actual3.body && - expect_from_to >expect.body $subprev $subprev-dirty && - test_cmp expect.body actual3.body && - git config -f .gitmodules submodule.subname.ignore dirty && - git diff HEAD >actual4 && - test_must_be_empty actual4 && - git config submodule.subname.ignore none && - git config submodule.subname.path sub && - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subprev $subprev-dirty && - test_cmp expect.body actual.body && - git config --remove-section submodule.subname && - git config --remove-section -f .gitmodules submodule.subname && - git config --unset diff.ignoreSubmodules && - rm .gitmodules -' - -test_expect_success 'git diff HEAD with dirty submodule (index, refs match)' ' - ( - cd sub && - git reset --hard && - echo >>world && - git add world - ) && - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subprev $subprev-dirty && - test_cmp expect.body actual.body -' - -test_expect_success 'git diff HEAD with dirty submodule (untracked, refs match)' ' - ( - cd sub && - git reset --hard && - git clean -qfdx && - >cruft - ) && - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subprev $subprev-dirty && - test_cmp expect.body actual.body && - git diff --ignore-submodules=all HEAD >actual2 && - test_must_be_empty actual2 && - git diff --ignore-submodules=untracked HEAD >actual3 && - test_must_be_empty actual3 && - git diff --ignore-submodules=dirty HEAD >actual4 && - test_must_be_empty actual4 -' - -test_expect_success 'git diff HEAD with dirty submodule (untracked, refs match) [.gitmodules]' ' - git config --add -f .gitmodules submodule.subname.ignore all && - git config --add -f .gitmodules submodule.subname.path sub && - git diff HEAD >actual2 && - test_must_be_empty actual2 && - git config -f .gitmodules submodule.subname.ignore untracked && - git diff HEAD >actual3 && - test_must_be_empty actual3 && - git config -f .gitmodules submodule.subname.ignore dirty && - git diff HEAD >actual4 && - test_must_be_empty actual4 && - git config submodule.subname.ignore none && - git config submodule.subname.path sub && - git diff HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subprev $subprev-dirty && - test_cmp expect.body actual.body && - git config --remove-section submodule.subname && - git config --remove-section -f .gitmodules submodule.subname && - rm .gitmodules -' - -test_expect_success 'git diff between submodule commits' ' - git diff HEAD^..HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subtip $subprev && - test_cmp expect.body actual.body && - git diff --ignore-submodules=dirty HEAD^..HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subtip $subprev && - test_cmp expect.body actual.body && - git diff --ignore-submodules HEAD^..HEAD >actual && - test_must_be_empty actual -' - -test_expect_success 'git diff between submodule commits [.gitmodules]' ' - git diff HEAD^..HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subtip $subprev && - test_cmp expect.body actual.body && - git config --add -f .gitmodules submodule.subname.ignore dirty && - git config --add -f .gitmodules submodule.subname.path sub && - git diff HEAD^..HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subtip $subprev && - test_cmp expect.body actual.body && - git config -f .gitmodules submodule.subname.ignore all && - git diff HEAD^..HEAD >actual && - test_must_be_empty actual && - git config submodule.subname.ignore dirty && - git config submodule.subname.path sub && - git diff HEAD^..HEAD >actual && - sed -e "1,/^@@/d" actual >actual.body && - expect_from_to >expect.body $subtip $subprev && - git config --remove-section submodule.subname && - git config --remove-section -f .gitmodules submodule.subname && - rm .gitmodules -' - -test_expect_success 'git diff (empty submodule dir)' ' - rm -rf sub/* sub/.git && - git diff > actual.empty && - test_must_be_empty actual.empty -' - -test_expect_success 'conflicted submodule setup' ' - c=$(test_oid ff_1) && - ( - echo "000000 $ZERO_OID 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 2$c - -Subproject commit 3$c -++Subproject commit $ZERO_OID" && - - hh=$(git rev-parse HEAD) && - sed -e "s/$ZERO_OID/$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 |