]>
Commit | Line | Data |
---|---|---|
50753d00 JK |
1 | #!/bin/sh |
2 | ||
3 | test_description='read-tree -u --reset' | |
4 | ||
5 | . ./test-lib.sh | |
ea5070c9 | 6 | . "$TEST_DIRECTORY"/lib-read-tree.sh |
50753d00 JK |
7 | |
8 | # two-tree test | |
9 | ||
10 | test_expect_success 'setup' ' | |
11 | git init && | |
12 | mkdir df && | |
13 | echo content >df/file && | |
14 | git add df/file && | |
15 | git commit -m one && | |
16 | git ls-files >expect && | |
17 | rm -rf df && | |
18 | echo content >df && | |
19 | git add df && | |
20 | echo content >new && | |
21 | git add new && | |
22 | git commit -m two | |
23 | ' | |
24 | ||
34110cd4 | 25 | test_expect_success 'reset should work' ' |
ea5070c9 | 26 | read_tree_u_must_succeed -u --reset HEAD^ && |
50753d00 | 27 | git ls-files >actual && |
82ebb0b6 | 28 | test_cmp expect actual |
50753d00 JK |
29 | ' |
30 | ||
d1a43f2a | 31 | test_expect_success 'reset should remove remnants from a failed merge' ' |
ea5070c9 | 32 | read_tree_u_must_succeed --reset -u HEAD && |
d1a43f2a JH |
33 | git ls-files -s >expect && |
34 | sha1=$(git rev-parse :new) && | |
35 | ( | |
36 | echo "100644 $sha1 1 old" | |
37 | echo "100644 $sha1 3 old" | |
38 | ) | git update-index --index-info && | |
39 | >old && | |
40 | git ls-files -s && | |
ea5070c9 | 41 | read_tree_u_must_succeed --reset -u HEAD && |
d1a43f2a JH |
42 | git ls-files -s >actual && |
43 | ! test -f old | |
44 | ' | |
45 | ||
46 | test_expect_success 'Porcelain reset should remove remnants too' ' | |
ea5070c9 | 47 | read_tree_u_must_succeed --reset -u HEAD && |
d1a43f2a JH |
48 | git ls-files -s >expect && |
49 | sha1=$(git rev-parse :new) && | |
50 | ( | |
51 | echo "100644 $sha1 1 old" | |
52 | echo "100644 $sha1 3 old" | |
53 | ) | git update-index --index-info && | |
54 | >old && | |
55 | git ls-files -s && | |
56 | git reset --hard && | |
57 | git ls-files -s >actual && | |
58 | ! test -f old | |
59 | ' | |
60 | ||
61 | test_expect_success 'Porcelain checkout -f should remove remnants too' ' | |
ea5070c9 | 62 | read_tree_u_must_succeed --reset -u HEAD && |
d1a43f2a JH |
63 | git ls-files -s >expect && |
64 | sha1=$(git rev-parse :new) && | |
65 | ( | |
66 | echo "100644 $sha1 1 old" | |
67 | echo "100644 $sha1 3 old" | |
68 | ) | git update-index --index-info && | |
69 | >old && | |
70 | git ls-files -s && | |
71 | git checkout -f && | |
72 | git ls-files -s >actual && | |
73 | ! test -f old | |
74 | ' | |
75 | ||
76 | test_expect_success 'Porcelain checkout -f HEAD should remove remnants too' ' | |
ea5070c9 | 77 | read_tree_u_must_succeed --reset -u HEAD && |
d1a43f2a JH |
78 | git ls-files -s >expect && |
79 | sha1=$(git rev-parse :new) && | |
80 | ( | |
81 | echo "100644 $sha1 1 old" | |
82 | echo "100644 $sha1 3 old" | |
83 | ) | git update-index --index-info && | |
84 | >old && | |
85 | git ls-files -s && | |
86 | git checkout -f HEAD && | |
87 | git ls-files -s >actual && | |
88 | ! test -f old | |
89 | ' | |
90 | ||
50753d00 | 91 | test_done |