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