]>
Commit | Line | Data |
---|---|---|
f5ed3b30 JH |
1 | #!/bin/sh |
2 | ||
3 | test_description='reset --hard unmerged' | |
4 | ||
eab4ac6a | 5 | TEST_PASSES_SANITIZE_LEAK=true |
f5ed3b30 JH |
6 | . ./test-lib.sh |
7 | ||
8 | test_expect_success setup ' | |
9 | ||
10 | mkdir before later && | |
11 | >before/1 && | |
12 | >before/2 && | |
13 | >hello && | |
14 | >later/3 && | |
15 | git add before hello later && | |
16 | git commit -m world && | |
17 | ||
18 | H=$(git rev-parse :hello) && | |
19 | git rm --cached hello && | |
20 | echo "100644 $H 2 hello" | git update-index --index-info && | |
21 | ||
22 | rm -f hello && | |
23 | mkdir -p hello && | |
24 | >hello/world && | |
25 | test "$(git ls-files -o)" = hello/world | |
26 | ||
27 | ' | |
28 | ||
29 | test_expect_success 'reset --hard should restore unmerged ones' ' | |
30 | ||
31 | git reset --hard && | |
32 | git ls-files --error-unmatch before/1 before/2 hello later/3 && | |
33 | test -f hello | |
34 | ||
35 | ' | |
36 | ||
845d15d4 | 37 | test_expect_success 'reset --hard did not corrupt index or cache-tree' ' |
f5ed3b30 JH |
38 | |
39 | T=$(git write-tree) && | |
40 | rm -f .git/index && | |
41 | git add before hello later && | |
42 | U=$(git write-tree) && | |
43 | test "$T" = "$U" | |
44 | ||
45 | ' | |
46 | ||
47 | test_done |