]>
Commit | Line | Data |
---|---|---|
1621c99c JL |
1 | #!/bin/sh |
2 | ||
3 | test_description='revert can handle submodules' | |
4 | ||
5 | . ./test-lib.sh | |
6 | . "$TEST_DIRECTORY"/lib-submodule-update.sh | |
7 | ||
8 | # Create a revert that moves from HEAD (including any test modifications to | |
9 | # the work tree) to $1 by first checking out $1 and reverting it. Reverting | |
10 | # the revert is the transition we test for. We tar the current work tree | |
11 | # first so we can restore the work tree test setup after doing the checkout | |
12 | # and revert. We test here that the restored work tree content is identical | |
13 | # to that at the beginning. The last revert is then tested by the framework. | |
14 | git_revert () { | |
15 | git status -su >expect && | |
16 | ls -1pR * >>expect && | |
95f0539e | 17 | tar cf "$TRASH_DIRECTORY/tmp.tar" * && |
1621c99c JL |
18 | git checkout "$1" && |
19 | git revert HEAD && | |
20 | rm -rf * && | |
95f0539e | 21 | tar xf "$TRASH_DIRECTORY/tmp.tar" && |
1621c99c JL |
22 | git status -su >actual && |
23 | ls -1pR * >>actual && | |
24 | test_cmp expect actual && | |
25 | git revert HEAD | |
26 | } | |
27 | ||
1621c99c JL |
28 | KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1 |
29 | test_submodule_switch "git_revert" | |
30 | ||
31 | test_done |