##// END OF EJS Templates
test-revert: improve comment...
Pierre-Yves David -
r22099:9ed5e105 default
parent child Browse files
Show More
@@ -1,384 +1,428 b''
1 $ hg init repo
1 $ hg init repo
2 $ cd repo
2 $ cd repo
3 $ echo 123 > a
3 $ echo 123 > a
4 $ echo 123 > c
4 $ echo 123 > c
5 $ echo 123 > e
5 $ echo 123 > e
6 $ hg add a c e
6 $ hg add a c e
7 $ hg commit -m "first" a c e
7 $ hg commit -m "first" a c e
8
8
9 nothing changed
9 nothing changed
10
10
11 $ hg revert
11 $ hg revert
12 abort: no files or directories specified
12 abort: no files or directories specified
13 (use --all to revert all files)
13 (use --all to revert all files)
14 [255]
14 [255]
15 $ hg revert --all
15 $ hg revert --all
16
16
17 Introduce some changes and revert them
18 --------------------------------------
19
17 $ echo 123 > b
20 $ echo 123 > b
18
21
19 should show b unknown
22 should show b unknown
20
23
21 $ hg status
24 $ hg status
22 ? b
25 ? b
23 $ echo 12 > c
26 $ echo 12 > c
24
27
25 should show b unknown and c modified
28 should show b unknown and c modified
26
29
27 $ hg status
30 $ hg status
28 M c
31 M c
29 ? b
32 ? b
30 $ hg add b
33 $ hg add b
31
34
32 should show b added and c modified
35 should show b added and c modified
33
36
34 $ hg status
37 $ hg status
35 M c
38 M c
36 A b
39 A b
37 $ hg rm a
40 $ hg rm a
38
41
39 should show a removed, b added and c modified
42 should show a removed, b added and c modified
40
43
41 $ hg status
44 $ hg status
42 M c
45 M c
43 A b
46 A b
44 R a
47 R a
48
49 revert removal of a file
50
45 $ hg revert a
51 $ hg revert a
46
52
47 should show b added, copy saved, and c modified
53 should show b added, copy saved, and c modified
48
54
49 $ hg status
55 $ hg status
50 M c
56 M c
51 A b
57 A b
58
59 revert addition of a file
60
52 $ hg revert b
61 $ hg revert b
53
62
54 should show b unknown, and c modified
63 should show b unknown, and c modified
55
64
56 $ hg status
65 $ hg status
57 M c
66 M c
58 ? b
67 ? b
68
69 revert modification of a file (--no-backup)
70
59 $ hg revert --no-backup c
71 $ hg revert --no-backup c
60
72
61 should show unknown: b
73 should show unknown: b
62
74
63 $ hg status
75 $ hg status
64 ? b
76 ? b
77
78 revert deletion (! status) of a added file
79 ------------------------------------------
80
65 $ hg add b
81 $ hg add b
66
82
67 should show b added
83 should show b added
68
84
69 $ hg status b
85 $ hg status b
70 A b
86 A b
71 $ rm b
87 $ rm b
72
88
73 should show b deleted
89 should show b deleted
74
90
75 $ hg status b
91 $ hg status b
76 ! b
92 ! b
77 $ hg revert -v b
93 $ hg revert -v b
78 forgetting b
94 forgetting b
79
95
80 should not find b
96 should not find b
81
97
82 $ hg status b
98 $ hg status b
83 b: * (glob)
99 b: * (glob)
84
100
85 should show a c e
101 should show a c e
86
102
87 $ ls
103 $ ls
88 a
104 a
89 c
105 c
90 e
106 e
91
107
92 should verbosely save backup to e.orig
108 Test creation of backup (.orig) files
109 -------------------------------------
93
110
94 $ echo z > e
111 $ echo z > e
95 $ hg revert --all -v
112 $ hg revert --all -v
96 saving current version of e as e.orig
113 saving current version of e as e.orig
97 reverting e
114 reverting e
98
115
99 should say no changes needed
116 revert on clean file (no change)
117 --------------------------------
100
118
101 $ hg revert a
119 $ hg revert a
102 no changes needed to a
120 no changes needed to a
103
121
104 should say file not managed
122 revert on an untracked file
123 ---------------------------
105
124
106 $ echo q > q
125 $ echo q > q
107 $ hg revert q
126 $ hg revert q
108 file not managed: q
127 file not managed: q
109 $ rm q
128 $ rm q
110
129
111 should say file not found
130 revert on file that does not exists
131 -----------------------------------
112
132
113 $ hg revert notfound
133 $ hg revert notfound
114 notfound: no such file in rev 334a9e57682c
134 notfound: no such file in rev 334a9e57682c
115 $ touch d
135 $ touch d
116 $ hg add d
136 $ hg add d
117 $ hg rm a
137 $ hg rm a
118 $ hg commit -m "second"
138 $ hg commit -m "second"
119 $ echo z > z
139 $ echo z > z
120 $ hg add z
140 $ hg add z
121 $ hg st
141 $ hg st
122 A z
142 A z
123 ? e.orig
143 ? e.orig
124
144
125 should add a, remove d, forget z
145 revert to another revision (--rev)
146 ----------------------------------
126
147
127 $ hg revert --all -r0
148 $ hg revert --all -r0
128 adding a
149 adding a
129 removing d
150 removing d
130 forgetting z
151 forgetting z
131
152
132 should forget a, undelete d
153 revert explicitly to parent (--rev)
154 -----------------------------------
133
155
134 $ hg revert --all -rtip
156 $ hg revert --all -rtip
135 forgetting a
157 forgetting a
136 undeleting d
158 undeleting d
137 $ rm a *.orig
159 $ rm a *.orig
138
160
139 should silently add a
161 revert to another revision (--rev) and exact match
162 --------------------------------------------------
163
164 exact match are more silent
140
165
141 $ hg revert -r0 a
166 $ hg revert -r0 a
142 $ hg st a
167 $ hg st a
143 A a
168 A a
144 $ hg rm d
169 $ hg rm d
145 $ hg st d
170 $ hg st d
146 R d
171 R d
147
172
148 should silently keep d removed
173 should silently keep d removed
149
174
150 $ hg revert -r0 d
175 $ hg revert -r0 d
151 $ hg st d
176 $ hg st d
152 R d
177 R d
153
178
154 $ hg update -C
179 $ hg update -C
155 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
180 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
181
182 revert of exec bit
183 ------------------
184
156 #if execbit
185 #if execbit
157 $ chmod +x c
186 $ chmod +x c
158 $ hg revert --all
187 $ hg revert --all
159 reverting c
188 reverting c
160
189
161 should print non-executable
190 should print non-executable
162
191
163 $ test -x c || echo non-executable
192 $ test -x c || echo non-executable
164 non-executable
193 non-executable
165
194
166 $ chmod +x c
195 $ chmod +x c
167 $ hg commit -m exe
196 $ hg commit -m exe
168
197
169 $ chmod -x c
198 $ chmod -x c
170 $ hg revert --all
199 $ hg revert --all
171 reverting c
200 reverting c
172
201
173 should print executable
202 should print executable
174
203
175 $ test -x c && echo executable
204 $ test -x c && echo executable
176 executable
205 executable
177 #endif
206 #endif
178
207
179 $ cd ..
208 $ cd ..
180
209
181
210
182 Issue241: update and revert produces inconsistent repositories
211 Issue241: update and revert produces inconsistent repositories
212 --------------------------------------------------------------
183
213
184 $ hg init a
214 $ hg init a
185 $ cd a
215 $ cd a
186 $ echo a >> a
216 $ echo a >> a
187 $ hg commit -A -d '1 0' -m a
217 $ hg commit -A -d '1 0' -m a
188 adding a
218 adding a
189 $ echo a >> a
219 $ echo a >> a
190 $ hg commit -d '2 0' -m a
220 $ hg commit -d '2 0' -m a
191 $ hg update 0
221 $ hg update 0
192 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
222 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
193 $ mkdir b
223 $ mkdir b
194 $ echo b > b/b
224 $ echo b > b/b
195
225
196 should fail - no arguments
226 call `hg revert` with no file specified
227 ---------------------------------------
197
228
198 $ hg revert -rtip
229 $ hg revert -rtip
199 abort: no files or directories specified
230 abort: no files or directories specified
200 (use --all to revert all files, or 'hg update 1' to update)
231 (use --all to revert all files, or 'hg update 1' to update)
201 [255]
232 [255]
202
233
203 should succeed
234 call `hg revert` with --all
235 ---------------------------
204
236
205 $ hg revert --all -rtip
237 $ hg revert --all -rtip
206 reverting a
238 reverting a
207
239
208
240
209 Issue332: confusing message when reverting directory
241 Issue332: confusing message when reverting directory
242 ----------------------------------------------------
210
243
211 $ hg ci -A -m b
244 $ hg ci -A -m b
212 adding b/b
245 adding b/b
213 created new head
246 created new head
214 $ echo foobar > b/b
247 $ echo foobar > b/b
215 $ mkdir newdir
248 $ mkdir newdir
216 $ echo foo > newdir/newfile
249 $ echo foo > newdir/newfile
217 $ hg add newdir/newfile
250 $ hg add newdir/newfile
218 $ hg revert b newdir
251 $ hg revert b newdir
219 reverting b/b (glob)
252 reverting b/b (glob)
220 forgetting newdir/newfile (glob)
253 forgetting newdir/newfile (glob)
221 $ echo foobar > b/b
254 $ echo foobar > b/b
222 $ hg revert .
255 $ hg revert .
223 reverting b/b (glob)
256 reverting b/b (glob)
224
257
225
258
226 reverting a rename target should revert the source
259 reverting a rename target should revert the source
260 --------------------------------------------------
227
261
228 $ hg mv a newa
262 $ hg mv a newa
229 $ hg revert newa
263 $ hg revert newa
230 $ hg st a newa
264 $ hg st a newa
231 ? newa
265 ? newa
232
266
233 $ cd ..
267 $ cd ..
234
268
235 $ hg init ignored
269 $ hg init ignored
236 $ cd ignored
270 $ cd ignored
237 $ echo '^ignored$' > .hgignore
271 $ echo '^ignored$' > .hgignore
238 $ echo '^ignoreddir$' >> .hgignore
272 $ echo '^ignoreddir$' >> .hgignore
239 $ echo '^removed$' >> .hgignore
273 $ echo '^removed$' >> .hgignore
240
274
241 $ mkdir ignoreddir
275 $ mkdir ignoreddir
242 $ touch ignoreddir/file
276 $ touch ignoreddir/file
243 $ touch ignoreddir/removed
277 $ touch ignoreddir/removed
244 $ touch ignored
278 $ touch ignored
245 $ touch removed
279 $ touch removed
246
280
247 4 ignored files (we will add/commit everything)
281 4 ignored files (we will add/commit everything)
248
282
249 $ hg st -A -X .hgignore
283 $ hg st -A -X .hgignore
250 I ignored
284 I ignored
251 I ignoreddir/file
285 I ignoreddir/file
252 I ignoreddir/removed
286 I ignoreddir/removed
253 I removed
287 I removed
254 $ hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed
288 $ hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed
255
289
256 $ echo >> ignored
290 $ echo >> ignored
257 $ echo >> ignoreddir/file
291 $ echo >> ignoreddir/file
258 $ hg rm removed ignoreddir/removed
292 $ hg rm removed ignoreddir/removed
259
293
260 should revert ignored* and undelete *removed
294 should revert ignored* and undelete *removed
295 --------------------------------------------
261
296
262 $ hg revert -a --no-backup
297 $ hg revert -a --no-backup
263 reverting ignored
298 reverting ignored
264 reverting ignoreddir/file (glob)
299 reverting ignoreddir/file (glob)
265 undeleting ignoreddir/removed (glob)
300 undeleting ignoreddir/removed (glob)
266 undeleting removed
301 undeleting removed
267 $ hg st -mardi
302 $ hg st -mardi
268
303
269 $ hg up -qC
304 $ hg up -qC
270 $ echo >> ignored
305 $ echo >> ignored
271 $ hg rm removed
306 $ hg rm removed
272
307
273 should silently revert the named files
308 should silently revert the named files
309 --------------------------------------
274
310
275 $ hg revert --no-backup ignored removed
311 $ hg revert --no-backup ignored removed
276 $ hg st -mardi
312 $ hg st -mardi
277
313
314 Reverting copy (issue3920)
315 --------------------------
316
278 someone set up us the copies
317 someone set up us the copies
279
318
280 $ rm .hgignore
319 $ rm .hgignore
281 $ hg update -C
320 $ hg update -C
282 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
321 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
283 $ hg mv ignored allyour
322 $ hg mv ignored allyour
284 $ hg copy removed base
323 $ hg copy removed base
285 $ hg commit -m rename
324 $ hg commit -m rename
286
325
287 copies and renames, you have no chance to survive make your time (issue3920)
326 copies and renames, you have no chance to survive make your time (issue3920)
288
327
289 $ hg update '.^'
328 $ hg update '.^'
290 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
329 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
291 $ hg revert -rtip -a
330 $ hg revert -rtip -a
292 adding allyour
331 adding allyour
293 adding base
332 adding base
294 removing ignored
333 removing ignored
295 $ hg status -C
334 $ hg status -C
296 A allyour
335 A allyour
297 ignored
336 ignored
298 A base
337 A base
299 removed
338 removed
300 R ignored
339 R ignored
301
340
302 Test revert of a file added by one side of the merge
341 Test revert of a file added by one side of the merge
342 ====================================================
303
343
304 (remove any pending change)
344 remove any pending change
305
345
306 $ hg revert --all
346 $ hg revert --all
307 forgetting allyour
347 forgetting allyour
308 forgetting base
348 forgetting base
309 undeleting ignored
349 undeleting ignored
310 $ hg purge --all --config extensions.purge=
350 $ hg purge --all --config extensions.purge=
311
351
312 (Adds a new commit)
352 Adds a new commit
313
353
314 $ echo foo > newadd
354 $ echo foo > newadd
315 $ hg add newadd
355 $ hg add newadd
316 $ hg commit -m 'other adds'
356 $ hg commit -m 'other adds'
317 created new head
357 created new head
318
358
319
359
320 (merge it with the other head)
360 merge it with the other head
321
361
322 $ hg merge # merge 1 into 2
362 $ hg merge # merge 1 into 2
323 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
363 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
324 (branch merge, don't forget to commit)
364 (branch merge, don't forget to commit)
325 $ hg summary
365 $ hg summary
326 parent: 2:b8ec310b2d4e tip
366 parent: 2:b8ec310b2d4e tip
327 other adds
367 other adds
328 parent: 1:f6180deb8fbe
368 parent: 1:f6180deb8fbe
329 rename
369 rename
330 branch: default
370 branch: default
331 commit: 2 modified, 1 removed (merge)
371 commit: 2 modified, 1 removed (merge)
332 update: (current)
372 update: (current)
333
373
334 (clarifies who added what)
374 clarifies who added what
335
375
336 $ hg status
376 $ hg status
337 M allyour
377 M allyour
338 M base
378 M base
339 R ignored
379 R ignored
340 $ hg status --change 'p1()'
380 $ hg status --change 'p1()'
341 A newadd
381 A newadd
342 $ hg status --change 'p2()'
382 $ hg status --change 'p2()'
343 A allyour
383 A allyour
344 A base
384 A base
345 R ignored
385 R ignored
346
386
347 (revert file added by p1() to p1() state)
387 revert file added by p1() to p1() state
388 -----------------------------------------
348
389
349 $ hg revert -r 'p1()' 'glob:newad?'
390 $ hg revert -r 'p1()' 'glob:newad?'
350 $ hg status
391 $ hg status
351 M allyour
392 M allyour
352 M base
393 M base
353 R ignored
394 R ignored
354
395
355 (revert file added by p1() to p2() state)
396 revert file added by p1() to p2() state
397 ------------------------------------------
356
398
357 $ hg revert -r 'p2()' 'glob:newad?'
399 $ hg revert -r 'p2()' 'glob:newad?'
358 removing newadd
400 removing newadd
359 $ hg status
401 $ hg status
360 M allyour
402 M allyour
361 M base
403 M base
362 R ignored
404 R ignored
363 R newadd
405 R newadd
364
406
365 (revert file added by p2() to p2() state)
407 revert file added by p2() to p2() state
408 ------------------------------------------
366
409
367 $ hg revert -r 'p2()' 'glob:allyou?'
410 $ hg revert -r 'p2()' 'glob:allyou?'
368 $ hg status
411 $ hg status
369 M allyour
412 M allyour
370 M base
413 M base
371 R ignored
414 R ignored
372 R newadd
415 R newadd
373
416
374 (revert file added by p2() to p1() state)
417 revert file added by p2() to p1() state
418 ------------------------------------------
375
419
376 $ hg revert -r 'p1()' 'glob:allyou?'
420 $ hg revert -r 'p1()' 'glob:allyou?'
377 removing allyour
421 removing allyour
378 $ hg status
422 $ hg status
379 M base
423 M base
380 R allyour
424 R allyour
381 R ignored
425 R ignored
382 R newadd
426 R newadd
383
427
384
428
General Comments 0
You need to be logged in to leave comments. Login now