@@ -8,84 +8,99 @@ test_description='read-tree -u --reset'
8
8
# two-tree test
9
9
10
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
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
23
'
24
24
25
25
test_expect_success ' reset should work' '
26
- read_tree_u_must_succeed -u --reset HEAD^ &&
27
- git ls-files >actual &&
28
- test_cmp expect actual
26
+ read_tree_u_must_succeed -u --reset HEAD^ &&
27
+ git ls-files >actual &&
28
+ test_cmp expect actual
29
29
'
30
30
31
31
test_expect_success ' reset should remove remnants from a failed merge' '
32
- read_tree_u_must_succeed --reset -u HEAD &&
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 &&
41
- read_tree_u_must_succeed --reset -u HEAD &&
42
- git ls-files -s >actual &&
43
- ! test -f old
32
+ read_tree_u_must_succeed --reset -u HEAD &&
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 &&
41
+ read_tree_u_must_succeed --reset -u HEAD &&
42
+ git ls-files -s >actual &&
43
+ ! test -f old
44
+ '
45
+
46
+ test_expect_success ' two-way reset should remove remnants too' '
47
+ read_tree_u_must_succeed --reset -u HEAD &&
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
+ read_tree_u_must_succeed --reset -u HEAD HEAD &&
57
+ git ls-files -s >actual &&
58
+ ! test -f old
44
59
'
45
60
46
61
test_expect_success ' Porcelain reset should remove remnants too' '
47
- read_tree_u_must_succeed --reset -u HEAD &&
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
62
+ read_tree_u_must_succeed --reset -u HEAD &&
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 reset --hard &&
72
+ git ls-files -s >actual &&
73
+ ! test -f old
59
74
'
60
75
61
76
test_expect_success ' Porcelain checkout -f should remove remnants too' '
62
- read_tree_u_must_succeed --reset -u HEAD &&
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
77
+ read_tree_u_must_succeed --reset -u HEAD &&
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 &&
87
+ git ls-files -s >actual &&
88
+ ! test -f old
74
89
'
75
90
76
91
test_expect_success ' Porcelain checkout -f HEAD should remove remnants too' '
77
- read_tree_u_must_succeed --reset -u HEAD &&
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
92
+ read_tree_u_must_succeed --reset -u HEAD &&
93
+ git ls-files -s >expect &&
94
+ sha1=$(git rev-parse :new) &&
95
+ (
96
+ echo "100644 $sha1 1 old"
97
+ echo "100644 $sha1 3 old"
98
+ ) | git update-index --index-info &&
99
+ >old &&
100
+ git ls-files -s &&
101
+ git checkout -f HEAD &&
102
+ git ls-files -s >actual &&
103
+ ! test -f old
89
104
'
90
105
91
106
test_done
0 commit comments