##// END OF EJS Templates
test-issue660: add dirstate-v2 variant...
Raphaël Gomès -
r49918:524819ab default
parent child Browse files
Show More
@@ -1,155 +1,166 b''
1 #testcases dirstate-v1 dirstate-v2
2
3 #if dirstate-v2
4 $ cat >> $HGRCPATH << EOF
5 > [format]
6 > use-dirstate-v2=1
7 > [storage]
8 > dirstate-v2.slow-path=allow
9 > EOF
10 #endif
11
1 https://bz.mercurial-scm.org/660 and:
12 https://bz.mercurial-scm.org/660 and:
2 https://bz.mercurial-scm.org/322
13 https://bz.mercurial-scm.org/322
3
14
4 $ hg init repo
15 $ hg init repo
5 $ cd repo
16 $ cd repo
6 $ echo a > a
17 $ echo a > a
7 $ mkdir b
18 $ mkdir b
8 $ echo b > b/b
19 $ echo b > b/b
9 $ hg commit -A -m "a is file, b is dir"
20 $ hg commit -A -m "a is file, b is dir"
10 adding a
21 adding a
11 adding b/b
22 adding b/b
12
23
13 File replaced with directory:
24 File replaced with directory:
14
25
15 $ rm a
26 $ rm a
16 $ mkdir a
27 $ mkdir a
17 $ echo a > a/a
28 $ echo a > a/a
18
29
19 Should fail - would corrupt dirstate:
30 Should fail - would corrupt dirstate:
20
31
21 $ hg add a/a
32 $ hg add a/a
22 abort: file 'a' in dirstate clashes with 'a/a'
33 abort: file 'a' in dirstate clashes with 'a/a'
23 [255]
34 [255]
24
35
25 Removing shadow:
36 Removing shadow:
26
37
27 $ hg rm --after a
38 $ hg rm --after a
28
39
29 Should succeed - shadow removed:
40 Should succeed - shadow removed:
30
41
31 $ hg add a/a
42 $ hg add a/a
32
43
33 Directory replaced with file:
44 Directory replaced with file:
34
45
35 $ rm -r b
46 $ rm -r b
36 $ echo b > b
47 $ echo b > b
37
48
38 Should fail - would corrupt dirstate:
49 Should fail - would corrupt dirstate:
39
50
40 $ hg add b
51 $ hg add b
41 abort: directory 'b' already in dirstate
52 abort: directory 'b' already in dirstate
42 [255]
53 [255]
43
54
44 Removing shadow:
55 Removing shadow:
45
56
46 $ hg rm --after b/b
57 $ hg rm --after b/b
47
58
48 Should succeed - shadow removed:
59 Should succeed - shadow removed:
49
60
50 $ hg add b
61 $ hg add b
51
62
52 Look what we got:
63 Look what we got:
53
64
54 $ hg st
65 $ hg st
55 A a/a
66 A a/a
56 A b
67 A b
57 R a
68 R a
58 R b/b
69 R b/b
59
70
60 Revert reintroducing shadow - should fail:
71 Revert reintroducing shadow - should fail:
61
72
62 $ rm -r a b
73 $ rm -r a b
63 $ hg revert b/b
74 $ hg revert b/b
64 abort: file 'b' in dirstate clashes with 'b/b'
75 abort: file 'b' in dirstate clashes with 'b/b'
65 [255]
76 [255]
66
77
67 Revert all - should succeed:
78 Revert all - should succeed:
68
79
69 $ hg revert --all
80 $ hg revert --all
70 forgetting a/a
81 forgetting a/a
71 forgetting b
82 forgetting b
72 undeleting a
83 undeleting a
73 undeleting b/b
84 undeleting b/b
74
85
75 $ hg st
86 $ hg st
76
87
77 Issue3423:
88 Issue3423:
78
89
79 $ hg forget a
90 $ hg forget a
80 $ echo zed > a
91 $ echo zed > a
81 $ hg revert a
92 $ hg revert a
82 $ hg st
93 $ hg st
83 ? a.orig
94 ? a.orig
84 $ rm a.orig
95 $ rm a.orig
85
96
86 addremove:
97 addremove:
87
98
88 $ rm -r a b
99 $ rm -r a b
89 $ mkdir a
100 $ mkdir a
90 $ echo a > a/a
101 $ echo a > a/a
91 $ echo b > b
102 $ echo b > b
92
103
93 $ hg addremove -s 0
104 $ hg addremove -s 0
94 removing a
105 removing a
95 adding a/a
106 adding a/a
96 adding b
107 adding b
97 removing b/b
108 removing b/b
98
109
99 $ hg st
110 $ hg st
100 A a/a
111 A a/a
101 A b
112 A b
102 R a
113 R a
103 R b/b
114 R b/b
104
115
105 commit:
116 commit:
106
117
107 $ hg ci -A -m "a is dir, b is file"
118 $ hg ci -A -m "a is dir, b is file"
108 $ hg st --all
119 $ hg st --all
109 C a/a
120 C a/a
110 C b
121 C b
111
122
112 Long directory replaced with file:
123 Long directory replaced with file:
113
124
114 $ mkdir d
125 $ mkdir d
115 $ mkdir d/d
126 $ mkdir d/d
116 $ echo d > d/d/d
127 $ echo d > d/d/d
117 $ hg commit -A -m "d is long directory"
128 $ hg commit -A -m "d is long directory"
118 adding d/d/d
129 adding d/d/d
119
130
120 $ rm -r d
131 $ rm -r d
121 $ echo d > d
132 $ echo d > d
122
133
123 Should fail - would corrupt dirstate:
134 Should fail - would corrupt dirstate:
124
135
125 $ hg add d
136 $ hg add d
126 abort: directory 'd' already in dirstate
137 abort: directory 'd' already in dirstate
127 [255]
138 [255]
128
139
129 Removing shadow:
140 Removing shadow:
130
141
131 $ hg rm --after d/d/d
142 $ hg rm --after d/d/d
132
143
133 Should succeed - shadow removed:
144 Should succeed - shadow removed:
134
145
135 $ hg add d
146 $ hg add d
136 $ hg ci -md
147 $ hg ci -md
137
148
138 Update should work at least with clean working directory:
149 Update should work at least with clean working directory:
139
150
140 $ rm -r a b d
151 $ rm -r a b d
141 $ hg up -r 0
152 $ hg up -r 0
142 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
153 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
143
154
144 $ hg st --all
155 $ hg st --all
145 C a
156 C a
146 C b/b
157 C b/b
147
158
148 $ rm -r a b
159 $ rm -r a b
149 $ hg up -r 1
160 $ hg up -r 1
150 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
161 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
151
162
152 $ hg st --all
163 $ hg st --all
153 C a/a
164 C a/a
154 C b
165 C b
155
166
General Comments 0
You need to be logged in to leave comments. Login now