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