##// END OF EJS Templates
tests: unify test-revert
Nicolas Dumazet -
r12106:969176be default
parent child Browse files
Show More
@@ -1,151 +1,263 b''
1 #!/bin/sh
1 $ hg init repo
2 $ cd repo
3 $ echo 123 > a
4 $ echo 123 > c
5 $ echo 123 > e
6 $ hg add a c e
7 $ hg commit -m "first" -d "1000000 0" a c e
8 $ echo 123 > b
9
10 should show b unknown
11
12 $ hg status
13 ? b
14 $ echo 12 > c
15
16 should show b unknown and c modified
17
18 $ hg status
19 M c
20 ? b
21 $ hg add b
22
23 should show b added and c modified
24
25 $ hg status
26 M c
27 A b
28 $ hg rm a
29
30 should show a removed, b added and c modified
31
32 $ hg status
33 M c
34 A b
35 R a
36 $ hg revert a
37
38 should show b added, copy saved, and c modified
39
40 $ hg status
41 M c
42 A b
43 $ hg revert b
44
45 should show b unknown, and c modified
46
47 $ hg status
48 M c
49 ? b
50 $ hg revert --no-backup c
51
52 should show unknown: b
53
54 $ hg status
55 ? b
56 $ hg add b
57
58 should show b added
59
60 $ hg status b
61 A b
62 $ rm b
63
64 should show b deleted
2
65
3 hg init repo
66 $ hg status b
4 cd repo
67 ! b
5 echo 123 > a
68 $ hg revert -v b
6 echo 123 > c
69 forgetting b
7 echo 123 > e
70
8 hg add a c e
71 should not find b
9 hg commit -m "first" -d "1000000 0" a c e
72
10 echo 123 > b
73 $ hg status b
11 echo %% should show b unknown
74 b: No such file or directory
12 hg status
75
13 echo 12 > c
76 should show a c e
14 echo %% should show b unknown and c modified
77
15 hg status
78 $ ls
16 hg add b
79 a
17 echo %% should show b added and c modified
80 c
18 hg status
81 e
19 hg rm a
82
20 echo %% should show a removed, b added and c modified
83 should verbosely save backup to e.orig
21 hg status
84
22 hg revert a
85 $ echo z > e
23 echo %% should show b added, copy saved, and c modified
86 $ hg revert --all -v
24 hg status
87 saving current version of e as e.orig
25 hg revert b
88 reverting e
26 echo %% should show b unknown, and c modified
89
27 hg status
90 should say no changes needed
28 hg revert --no-backup c
91
29 echo %% should show unknown: b
92 $ hg revert a
30 hg status
93 no changes needed to a
31 hg add b
94
32 echo %% should show b added
95 should say file not managed
33 hg status b
96
34 rm b
97 $ echo q > q
35 echo %% should show b deleted
98 $ hg revert q
36 hg status b
99 file not managed: q
37 hg revert -v b
100 $ rm q
38 echo %% should not find b
101
39 hg status b
102 should say file not found
40 echo %% should show a c e
103
41 ls
104 $ hg revert notfound
42 echo %% should verbosely save backup to e.orig
105 notfound: no such file in rev 095eacd0c0d7
43 echo z > e
106 $ touch d
44 hg revert --all -v
107 $ hg add d
45 echo %% should say no changes needed
108 $ hg rm a
46 hg revert a
109 $ hg commit -m "second" -d "1000000 0"
47 echo %% should say file not managed
110 $ echo z > z
48 echo q > q
111 $ hg add z
49 hg revert q
112 $ hg st
50 rm q
113 A z
51 echo %% should say file not found
114 ? e.orig
52 hg revert notfound
115
53 touch d
116 should add a, remove d, forget z
54 hg add d
117
55 hg rm a
118 $ hg revert --all -r0
56 hg commit -m "second" -d "1000000 0"
119 adding a
57 echo z > z
120 removing d
58 hg add z
121 forgetting z
59 hg st
122
60 echo %% should add a, remove d, forget z
123 should forget a, undelete d
61 hg revert --all -r0
124
62 echo %% should forget a, undelete d
125 $ hg revert --all -rtip
63 hg revert --all -rtip
126 forgetting a
64 rm a *.orig
127 undeleting d
65 echo %% should silently add a
128 $ rm a *.orig
66 hg revert -r0 a
129
67 hg st a
130 should silently add a
68 hg rm d
69 hg st d
70 echo %% should silently keep d removed
71 hg revert -r0 d
72 hg st d
73
131
74 hg update -C
132 $ hg revert -r0 a
75 chmod +x c
133 $ hg st a
76 hg revert --all
134 A a
77 echo %% should print non-executable
135 $ hg rm d
78 test -x c || echo non-executable
136 $ hg st d
137 R d
138
139 should silently keep d removed
140
141 $ hg revert -r0 d
142 $ hg st d
143 R d
79
144
80 chmod +x c
145 $ hg update -C
81 hg commit -d '1000001 0' -m exe
146 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
147 $ chmod +x c
148 $ hg revert --all
149 reverting c
150
151 should print non-executable
82
152
83 chmod -x c
153 $ test -x c || echo non-executable
84 hg revert --all
154 non-executable
85 echo %% should print executable
155
86 test -x c && echo executable
156 $ chmod +x c
157 $ hg commit -d '1000001 0' -m exe
87
158
88 cd ..
159 $ chmod -x c
160 $ hg revert --all
161 reverting c
162
163 should print executable
89
164
90 echo %% issue 241
165 $ test -x c && echo executable
91 hg init a
166 executable
92 cd a
167
93 echo a >> a
168 $ cd ..
94 hg commit -A -d '1 0' -m a
169
95 echo a >> a
170
96 hg commit -d '2 0' -m a
171 issue 241
97 hg update 0
98 mkdir b
99 echo b > b/b
100
172
101 echo % should fail - no arguments
173 $ hg init a
102 hg revert -rtip
174 $ cd a
175 $ echo a >> a
176 $ hg commit -A -d '1 0' -m a
177 adding a
178 $ echo a >> a
179 $ hg commit -d '2 0' -m a
180 $ hg update 0
181 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
182 $ mkdir b
183 $ echo b > b/b
103
184
104 echo % should succeed
185 should fail - no arguments
105 hg revert --all -rtip
186
187 $ hg revert -rtip
188 abort: no files or directories specified; use --all to revert the whole repo
189
190 should succeed
191
192 $ hg revert --all -rtip
193 reverting a
194
195
196 issue332
106
197
107 echo %% issue332
198 $ hg ci -A -m b -d '1000001 0'
108 hg ci -A -m b -d '1000001 0'
199 adding b/b
109 echo foobar > b/b
200 created new head
110 mkdir newdir
201 $ echo foobar > b/b
111 echo foo > newdir/newfile
202 $ mkdir newdir
112 hg add newdir/newfile
203 $ echo foo > newdir/newfile
113 hg revert b newdir
204 $ hg add newdir/newfile
114 echo foobar > b/b
205 $ hg revert b newdir
115 hg revert .
206 reverting b/b
207 forgetting newdir/newfile
208 $ echo foobar > b/b
209 $ hg revert .
210 reverting b/b
211
116
212
117 echo % reverting a rename target should revert the source
213 reverting a rename target should revert the source
118 hg mv a newa
214
119 hg revert newa
215 $ hg mv a newa
120 hg st a newa
216 $ hg revert newa
217 $ hg st a newa
218 ? newa
121
219
122 cd ..
220 $ cd ..
123
221
124 hg init ignored
222 $ hg init ignored
125 cd ignored
223 $ cd ignored
126 echo '^ignored$' > .hgignore
224 $ echo '^ignored$' > .hgignore
127 echo '^ignoreddir$' >> .hgignore
225 $ echo '^ignoreddir$' >> .hgignore
128 echo '^removed$' >> .hgignore
226 $ echo '^removed$' >> .hgignore
129
227
130 mkdir ignoreddir
228 $ mkdir ignoreddir
131 touch ignoreddir/file
229 $ touch ignoreddir/file
132 touch ignoreddir/removed
230 $ touch ignoreddir/removed
133 touch ignored
231 $ touch ignored
134 touch removed
232 $ touch removed
135 echo '%% 4 ignored files (we will add/commit everything)'
233
136 hg st -A -X .hgignore
234 4 ignored files (we will add/commit everything)
137 hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed
235
236 $ hg st -A -X .hgignore
237 I ignored
238 I ignoreddir/file
239 I ignoreddir/removed
240 I removed
241 $ hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed
138
242
139 echo >> ignored
243 $ echo >> ignored
140 echo >> ignoreddir/file
244 $ echo >> ignoreddir/file
141 hg rm removed ignoreddir/removed
245 $ hg rm removed ignoreddir/removed
142 echo '%% should revert ignored* and undelete *removed'
246
143 hg revert -a --no-backup
247 should revert ignored* and undelete *removed
144 hg st -mardi
145
248
146 hg up -qC
249 $ hg revert -a --no-backup
147 echo >> ignored
250 reverting ignored
148 hg rm removed
251 reverting ignoreddir/file
149 echo %% should silently revert the named files
252 undeleting ignoreddir/removed
150 hg revert --no-backup ignored removed
253 undeleting removed
151 hg st -mardi
254 $ hg st -mardi
255
256 $ hg up -qC
257 $ echo >> ignored
258 $ hg rm removed
259
260 should silently revert the named files
261
262 $ hg revert --no-backup ignored removed
263 $ hg st -mardi
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now