]>
Commit | Line | Data |
---|---|---|
8f8ba56b JL |
1 | #!/bin/sh |
2 | ||
3 | test_description='bisect can handle submodules' | |
4 | ||
5 | . ./test-lib.sh | |
6 | . "$TEST_DIRECTORY"/lib-submodule-update.sh | |
7 | ||
8 | git_bisect () { | |
9 | git status -su >expect && | |
10 | ls -1pR * >>expect && | |
f5ee54aa | 11 | tar cf "$TRASH_DIRECTORY/tmp.tar" * && |
8f8ba56b JL |
12 | GOOD=$(git rev-parse --verify HEAD) && |
13 | git checkout "$1" && | |
14 | echo "foo" >bar && | |
15 | git add bar && | |
16 | git commit -m "bisect bad" && | |
17 | BAD=$(git rev-parse --verify HEAD) && | |
18 | git reset --hard HEAD^^ && | |
19 | git submodule update && | |
20 | git bisect start && | |
21 | git bisect good $GOOD && | |
22 | rm -rf * && | |
f5ee54aa | 23 | tar xf "$TRASH_DIRECTORY/tmp.tar" && |
8f8ba56b JL |
24 | git status -su >actual && |
25 | ls -1pR * >>actual && | |
26 | test_cmp expect actual && | |
27 | git bisect bad $BAD | |
28 | } | |
29 | ||
30 | test_submodule_switch "git_bisect" | |
31 | ||
32 | test_done |