##// END OF EJS Templates
spelling: succeeded
timeless@mozdev.org -
r17518:cb68ca8a default
parent child Browse files
Show More
@@ -1,426 +1,426
1 Test that qpush cleans things up if it doesn't complete
1 Test that qpush cleans things up if it doesn't complete
2
2
3 $ echo "[extensions]" >> $HGRCPATH
3 $ echo "[extensions]" >> $HGRCPATH
4 $ echo "mq=" >> $HGRCPATH
4 $ echo "mq=" >> $HGRCPATH
5 $ hg init repo
5 $ hg init repo
6 $ cd repo
6 $ cd repo
7 $ echo foo > foo
7 $ echo foo > foo
8 $ hg ci -Am 'add foo'
8 $ hg ci -Am 'add foo'
9 adding foo
9 adding foo
10 $ touch untracked-file
10 $ touch untracked-file
11 $ echo 'syntax: glob' > .hgignore
11 $ echo 'syntax: glob' > .hgignore
12 $ echo '.hgignore' >> .hgignore
12 $ echo '.hgignore' >> .hgignore
13 $ hg qinit
13 $ hg qinit
14
14
15 test qpush on empty series
15 test qpush on empty series
16
16
17 $ hg qpush
17 $ hg qpush
18 no patches in series
18 no patches in series
19 $ hg qnew patch1
19 $ hg qnew patch1
20 $ echo >> foo
20 $ echo >> foo
21 $ hg qrefresh -m 'patch 1'
21 $ hg qrefresh -m 'patch 1'
22 $ hg qnew patch2
22 $ hg qnew patch2
23 $ echo bar > bar
23 $ echo bar > bar
24 $ hg add bar
24 $ hg add bar
25 $ hg qrefresh -m 'patch 2'
25 $ hg qrefresh -m 'patch 2'
26 $ hg qnew --config 'mq.plain=true' bad-patch
26 $ hg qnew --config 'mq.plain=true' bad-patch
27 $ echo >> foo
27 $ echo >> foo
28 $ hg qrefresh
28 $ hg qrefresh
29 $ hg qpop -a
29 $ hg qpop -a
30 popping bad-patch
30 popping bad-patch
31 popping patch2
31 popping patch2
32 popping patch1
32 popping patch1
33 patch queue now empty
33 patch queue now empty
34 $ python -c 'print "\xe9"' > message
34 $ python -c 'print "\xe9"' > message
35 $ cat .hg/patches/bad-patch >> message
35 $ cat .hg/patches/bad-patch >> message
36 $ mv message .hg/patches/bad-patch
36 $ mv message .hg/patches/bad-patch
37 $ hg qpush -a && echo 'qpush succeded?!'
37 $ hg qpush -a && echo 'qpush succeeded?!'
38 applying patch1
38 applying patch1
39 applying patch2
39 applying patch2
40 applying bad-patch
40 applying bad-patch
41 transaction abort!
41 transaction abort!
42 rollback completed
42 rollback completed
43 cleaning up working directory...done
43 cleaning up working directory...done
44 abort: decoding near '\xe9': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)! (esc)
44 abort: decoding near '\xe9': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)! (esc)
45 [255]
45 [255]
46 $ hg parents
46 $ hg parents
47 changeset: 0:bbd179dfa0a7
47 changeset: 0:bbd179dfa0a7
48 tag: tip
48 tag: tip
49 user: test
49 user: test
50 date: Thu Jan 01 00:00:00 1970 +0000
50 date: Thu Jan 01 00:00:00 1970 +0000
51 summary: add foo
51 summary: add foo
52
52
53
53
54 test corrupt status file
54 test corrupt status file
55 $ hg qpush
55 $ hg qpush
56 applying patch1
56 applying patch1
57 now at: patch1
57 now at: patch1
58 $ cp .hg/patches/status .hg/patches/status.orig
58 $ cp .hg/patches/status .hg/patches/status.orig
59 $ hg qpop
59 $ hg qpop
60 popping patch1
60 popping patch1
61 patch queue now empty
61 patch queue now empty
62 $ cp .hg/patches/status.orig .hg/patches/status
62 $ cp .hg/patches/status.orig .hg/patches/status
63 $ hg qpush
63 $ hg qpush
64 mq status file refers to unknown node * (glob)
64 mq status file refers to unknown node * (glob)
65 abort: working directory revision is not qtip
65 abort: working directory revision is not qtip
66 [255]
66 [255]
67 $ rm .hg/patches/status .hg/patches/status.orig
67 $ rm .hg/patches/status .hg/patches/status.orig
68
68
69
69
70 bar should be gone; other unknown/ignored files should still be around
70 bar should be gone; other unknown/ignored files should still be around
71
71
72 $ hg status -A
72 $ hg status -A
73 ? untracked-file
73 ? untracked-file
74 I .hgignore
74 I .hgignore
75 C foo
75 C foo
76
76
77 preparing qpush of a missing patch
77 preparing qpush of a missing patch
78
78
79 $ hg qpop -a
79 $ hg qpop -a
80 no patches applied
80 no patches applied
81 $ hg qpush
81 $ hg qpush
82 applying patch1
82 applying patch1
83 now at: patch1
83 now at: patch1
84 $ rm .hg/patches/patch2
84 $ rm .hg/patches/patch2
85
85
86 now we expect the push to fail, but it should NOT complain about patch1
86 now we expect the push to fail, but it should NOT complain about patch1
87
87
88 $ hg qpush
88 $ hg qpush
89 applying patch2
89 applying patch2
90 unable to read patch2
90 unable to read patch2
91 now at: patch1
91 now at: patch1
92 [1]
92 [1]
93
93
94 preparing qpush of missing patch with no patch applied
94 preparing qpush of missing patch with no patch applied
95
95
96 $ hg qpop -a
96 $ hg qpop -a
97 popping patch1
97 popping patch1
98 patch queue now empty
98 patch queue now empty
99 $ rm .hg/patches/patch1
99 $ rm .hg/patches/patch1
100
100
101 qpush should fail the same way as below
101 qpush should fail the same way as below
102
102
103 $ hg qpush
103 $ hg qpush
104 applying patch1
104 applying patch1
105 unable to read patch1
105 unable to read patch1
106 [1]
106 [1]
107
107
108 Test qpush to a patch below the currently applied patch.
108 Test qpush to a patch below the currently applied patch.
109
109
110 $ hg qq -c guardedseriesorder
110 $ hg qq -c guardedseriesorder
111 $ hg qnew a
111 $ hg qnew a
112 $ hg qguard +block
112 $ hg qguard +block
113 $ hg qnew b
113 $ hg qnew b
114 $ hg qnew c
114 $ hg qnew c
115
115
116 $ hg qpop -a
116 $ hg qpop -a
117 popping c
117 popping c
118 popping b
118 popping b
119 popping a
119 popping a
120 patch queue now empty
120 patch queue now empty
121
121
122 try to push and pop while a is guarded
122 try to push and pop while a is guarded
123
123
124 $ hg qpush a
124 $ hg qpush a
125 cannot push 'a' - guarded by '+block'
125 cannot push 'a' - guarded by '+block'
126 [1]
126 [1]
127 $ hg qpush -a
127 $ hg qpush -a
128 applying b
128 applying b
129 patch b is empty
129 patch b is empty
130 applying c
130 applying c
131 patch c is empty
131 patch c is empty
132 now at: c
132 now at: c
133
133
134 now try it when a is unguarded, and we're at the top of the queue
134 now try it when a is unguarded, and we're at the top of the queue
135 $ hg qsel block
135 $ hg qsel block
136 number of guarded, applied patches has changed from 1 to 0
136 number of guarded, applied patches has changed from 1 to 0
137 $ hg qpush b
137 $ hg qpush b
138 abort: cannot push to a previous patch: b
138 abort: cannot push to a previous patch: b
139 [255]
139 [255]
140 $ hg qpush a
140 $ hg qpush a
141 abort: cannot push to a previous patch: a
141 abort: cannot push to a previous patch: a
142 [255]
142 [255]
143
143
144 and now we try it one more time with a unguarded, while we're not at the top of the queue
144 and now we try it one more time with a unguarded, while we're not at the top of the queue
145
145
146 $ hg qpop b
146 $ hg qpop b
147 popping c
147 popping c
148 now at: b
148 now at: b
149 $ hg qpush a
149 $ hg qpush a
150 abort: cannot push to a previous patch: a
150 abort: cannot push to a previous patch: a
151 [255]
151 [255]
152
152
153 test qpop --force and backup files
153 test qpop --force and backup files
154
154
155 $ hg qpop -a
155 $ hg qpop -a
156 popping b
156 popping b
157 patch queue now empty
157 patch queue now empty
158 $ hg qq --create force
158 $ hg qq --create force
159 $ echo a > a
159 $ echo a > a
160 $ echo b > b
160 $ echo b > b
161 $ echo c > c
161 $ echo c > c
162 $ hg ci -Am add a b c
162 $ hg ci -Am add a b c
163 $ echo a >> a
163 $ echo a >> a
164 $ hg rm b
164 $ hg rm b
165 $ hg rm c
165 $ hg rm c
166 $ hg qnew p1
166 $ hg qnew p1
167 $ echo a >> a
167 $ echo a >> a
168 $ echo bb > b
168 $ echo bb > b
169 $ hg add b
169 $ hg add b
170 $ echo cc > c
170 $ echo cc > c
171 $ hg add c
171 $ hg add c
172 $ hg qpop --force --verbose
172 $ hg qpop --force --verbose
173 saving current version of a as a.orig
173 saving current version of a as a.orig
174 saving current version of b as b.orig
174 saving current version of b as b.orig
175 saving current version of c as c.orig
175 saving current version of c as c.orig
176 popping p1
176 popping p1
177 patch queue now empty
177 patch queue now empty
178 $ hg st
178 $ hg st
179 ? a.orig
179 ? a.orig
180 ? b.orig
180 ? b.orig
181 ? c.orig
181 ? c.orig
182 ? untracked-file
182 ? untracked-file
183 $ cat a.orig
183 $ cat a.orig
184 a
184 a
185 a
185 a
186 a
186 a
187 $ cat b.orig
187 $ cat b.orig
188 bb
188 bb
189 $ cat c.orig
189 $ cat c.orig
190 cc
190 cc
191
191
192 test qpop --force --no-backup
192 test qpop --force --no-backup
193
193
194 $ hg qpush
194 $ hg qpush
195 applying p1
195 applying p1
196 now at: p1
196 now at: p1
197 $ rm a.orig
197 $ rm a.orig
198 $ echo a >> a
198 $ echo a >> a
199 $ hg qpop --force --no-backup --verbose
199 $ hg qpop --force --no-backup --verbose
200 popping p1
200 popping p1
201 patch queue now empty
201 patch queue now empty
202 $ test -f a.orig && echo 'error: backup with --no-backup'
202 $ test -f a.orig && echo 'error: backup with --no-backup'
203 [1]
203 [1]
204
204
205 test qpop --keep-changes
205 test qpop --keep-changes
206
206
207 $ hg qpush
207 $ hg qpush
208 applying p1
208 applying p1
209 now at: p1
209 now at: p1
210 $ hg qpop --keep-changes --force
210 $ hg qpop --keep-changes --force
211 abort: cannot use both --force and --keep-changes
211 abort: cannot use both --force and --keep-changes
212 [255]
212 [255]
213 $ echo a >> a
213 $ echo a >> a
214 $ hg qpop --keep-changes
214 $ hg qpop --keep-changes
215 abort: local changes found, refresh first
215 abort: local changes found, refresh first
216 [255]
216 [255]
217 $ hg revert -qa a
217 $ hg revert -qa a
218 $ rm a
218 $ rm a
219 $ hg qpop --keep-changes
219 $ hg qpop --keep-changes
220 abort: local changes found, refresh first
220 abort: local changes found, refresh first
221 [255]
221 [255]
222 $ hg rm -A a
222 $ hg rm -A a
223 $ hg qpop --keep-changes
223 $ hg qpop --keep-changes
224 abort: local changes found, refresh first
224 abort: local changes found, refresh first
225 [255]
225 [255]
226 $ hg revert -qa a
226 $ hg revert -qa a
227 $ echo b > b
227 $ echo b > b
228 $ hg add b
228 $ hg add b
229 $ hg qpop --keep-changes
229 $ hg qpop --keep-changes
230 abort: local changes found, refresh first
230 abort: local changes found, refresh first
231 [255]
231 [255]
232 $ hg forget b
232 $ hg forget b
233 $ echo d > d
233 $ echo d > d
234 $ hg add d
234 $ hg add d
235 $ hg qpop --keep-changes
235 $ hg qpop --keep-changes
236 popping p1
236 popping p1
237 patch queue now empty
237 patch queue now empty
238 $ hg forget d
238 $ hg forget d
239 $ rm d
239 $ rm d
240
240
241 test qpush --force and backup files
241 test qpush --force and backup files
242
242
243 $ echo a >> a
243 $ echo a >> a
244 $ hg qnew p2
244 $ hg qnew p2
245 $ echo b >> b
245 $ echo b >> b
246 $ echo d > d
246 $ echo d > d
247 $ echo e > e
247 $ echo e > e
248 $ hg add d e
248 $ hg add d e
249 $ hg rm c
249 $ hg rm c
250 $ hg qnew p3
250 $ hg qnew p3
251 $ hg qpop -a
251 $ hg qpop -a
252 popping p3
252 popping p3
253 popping p2
253 popping p2
254 patch queue now empty
254 patch queue now empty
255 $ echo a >> a
255 $ echo a >> a
256 $ echo b1 >> b
256 $ echo b1 >> b
257 $ echo d1 > d
257 $ echo d1 > d
258 $ hg add d
258 $ hg add d
259 $ echo e1 > e
259 $ echo e1 > e
260 $ hg qpush -a --force --verbose
260 $ hg qpush -a --force --verbose
261 applying p2
261 applying p2
262 saving current version of a as a.orig
262 saving current version of a as a.orig
263 patching file a
263 patching file a
264 a
264 a
265 applying p3
265 applying p3
266 saving current version of b as b.orig
266 saving current version of b as b.orig
267 saving current version of d as d.orig
267 saving current version of d as d.orig
268 patching file b
268 patching file b
269 patching file c
269 patching file c
270 patching file d
270 patching file d
271 file d already exists
271 file d already exists
272 1 out of 1 hunks FAILED -- saving rejects to file d.rej
272 1 out of 1 hunks FAILED -- saving rejects to file d.rej
273 patching file e
273 patching file e
274 file e already exists
274 file e already exists
275 1 out of 1 hunks FAILED -- saving rejects to file e.rej
275 1 out of 1 hunks FAILED -- saving rejects to file e.rej
276 patch failed to apply
276 patch failed to apply
277 b
277 b
278 patch failed, rejects left in working dir
278 patch failed, rejects left in working dir
279 errors during apply, please fix and refresh p3
279 errors during apply, please fix and refresh p3
280 [2]
280 [2]
281 $ cat a.orig
281 $ cat a.orig
282 a
282 a
283 a
283 a
284 $ cat b.orig
284 $ cat b.orig
285 b
285 b
286 b1
286 b1
287 $ cat d.orig
287 $ cat d.orig
288 d1
288 d1
289
289
290 test qpush --force --no-backup
290 test qpush --force --no-backup
291
291
292 $ hg revert -qa
292 $ hg revert -qa
293 $ hg qpop -a
293 $ hg qpop -a
294 popping p3
294 popping p3
295 popping p2
295 popping p2
296 patch queue now empty
296 patch queue now empty
297 $ echo a >> a
297 $ echo a >> a
298 $ rm a.orig
298 $ rm a.orig
299 $ hg qpush --force --no-backup --verbose
299 $ hg qpush --force --no-backup --verbose
300 applying p2
300 applying p2
301 patching file a
301 patching file a
302 a
302 a
303 now at: p2
303 now at: p2
304 $ test -f a.orig && echo 'error: backup with --no-backup'
304 $ test -f a.orig && echo 'error: backup with --no-backup'
305 [1]
305 [1]
306
306
307 test qgoto --force --no-backup
307 test qgoto --force --no-backup
308
308
309 $ hg qpop
309 $ hg qpop
310 popping p2
310 popping p2
311 patch queue now empty
311 patch queue now empty
312 $ echo a >> a
312 $ echo a >> a
313 $ hg qgoto --force --no-backup p2 --verbose
313 $ hg qgoto --force --no-backup p2 --verbose
314 applying p2
314 applying p2
315 patching file a
315 patching file a
316 a
316 a
317 now at: p2
317 now at: p2
318 $ test -f a.orig && echo 'error: backup with --no-backup'
318 $ test -f a.orig && echo 'error: backup with --no-backup'
319 [1]
319 [1]
320
320
321 test qpush --keep-changes
321 test qpush --keep-changes
322
322
323 $ hg qpush --keep-changes --force
323 $ hg qpush --keep-changes --force
324 abort: cannot use both --force and --keep-changes
324 abort: cannot use both --force and --keep-changes
325 [255]
325 [255]
326 $ hg qpush --keep-changes --exact
326 $ hg qpush --keep-changes --exact
327 abort: cannot use --exact and --keep-changes together
327 abort: cannot use --exact and --keep-changes together
328 [255]
328 [255]
329 $ echo b >> b
329 $ echo b >> b
330 $ hg qpush --keep-changes
330 $ hg qpush --keep-changes
331 applying p3
331 applying p3
332 errors during apply, please fix and refresh p2
332 errors during apply, please fix and refresh p2
333 [2]
333 [2]
334 $ rm b
334 $ rm b
335 $ hg qpush --keep-changes
335 $ hg qpush --keep-changes
336 applying p3
336 applying p3
337 errors during apply, please fix and refresh p2
337 errors during apply, please fix and refresh p2
338 [2]
338 [2]
339 $ hg rm -A b
339 $ hg rm -A b
340 $ hg qpush --keep-changes
340 $ hg qpush --keep-changes
341 applying p3
341 applying p3
342 errors during apply, please fix and refresh p2
342 errors during apply, please fix and refresh p2
343 [2]
343 [2]
344 $ hg revert -aq b
344 $ hg revert -aq b
345 $ echo d > d
345 $ echo d > d
346 $ hg add d
346 $ hg add d
347 $ hg qpush --keep-changes
347 $ hg qpush --keep-changes
348 applying p3
348 applying p3
349 errors during apply, please fix and refresh p2
349 errors during apply, please fix and refresh p2
350 [2]
350 [2]
351 $ hg forget d
351 $ hg forget d
352 $ rm d
352 $ rm d
353 $ hg qpop
353 $ hg qpop
354 popping p2
354 popping p2
355 patch queue now empty
355 patch queue now empty
356 $ echo b >> b
356 $ echo b >> b
357 $ hg qpush -a --keep-changes
357 $ hg qpush -a --keep-changes
358 applying p2
358 applying p2
359 applying p3
359 applying p3
360 errors during apply, please fix and refresh p2
360 errors during apply, please fix and refresh p2
361 [2]
361 [2]
362 $ hg qtop
362 $ hg qtop
363 p2
363 p2
364 $ hg parents --template "{rev} {desc}\n"
364 $ hg parents --template "{rev} {desc}\n"
365 2 imported patch p2
365 2 imported patch p2
366 $ hg st b
366 $ hg st b
367 M b
367 M b
368 $ cat b
368 $ cat b
369 b
369 b
370 b
370 b
371
371
372 test qgoto --keep-changes
372 test qgoto --keep-changes
373
373
374 $ hg revert -aq b
374 $ hg revert -aq b
375 $ rm e
375 $ rm e
376 $ hg qgoto --keep-changes --force p3
376 $ hg qgoto --keep-changes --force p3
377 abort: cannot use both --force and --keep-changes
377 abort: cannot use both --force and --keep-changes
378 [255]
378 [255]
379 $ echo a >> a
379 $ echo a >> a
380 $ hg qgoto --keep-changes p3
380 $ hg qgoto --keep-changes p3
381 applying p3
381 applying p3
382 now at: p3
382 now at: p3
383 $ hg st a
383 $ hg st a
384 M a
384 M a
385 $ hg qgoto --keep-changes p2
385 $ hg qgoto --keep-changes p2
386 popping p3
386 popping p3
387 now at: p2
387 now at: p2
388 $ hg st a
388 $ hg st a
389 M a
389 M a
390
390
391 test mq.keepchanges setting
391 test mq.keepchanges setting
392
392
393 $ hg --config mq.keepchanges=1 qpush
393 $ hg --config mq.keepchanges=1 qpush
394 applying p3
394 applying p3
395 now at: p3
395 now at: p3
396 $ hg st a
396 $ hg st a
397 M a
397 M a
398 $ hg --config mq.keepchanges=1 qpop
398 $ hg --config mq.keepchanges=1 qpop
399 popping p3
399 popping p3
400 now at: p2
400 now at: p2
401 $ hg st a
401 $ hg st a
402 M a
402 M a
403 $ hg --config mq.keepchanges=1 qgoto p3
403 $ hg --config mq.keepchanges=1 qgoto p3
404 applying p3
404 applying p3
405 now at: p3
405 now at: p3
406 $ hg st a
406 $ hg st a
407 M a
407 M a
408 $ echo b >> b
408 $ echo b >> b
409 $ hg --config mq.keepchanges=1 qpop --force
409 $ hg --config mq.keepchanges=1 qpop --force
410 popping p3
410 popping p3
411 now at: p2
411 now at: p2
412 $ hg st b
412 $ hg st b
413 $ hg --config mq.keepchanges=1 qpush --exact
413 $ hg --config mq.keepchanges=1 qpush --exact
414 abort: local changes found, refresh first
414 abort: local changes found, refresh first
415 [255]
415 [255]
416 $ hg revert -qa a
416 $ hg revert -qa a
417 $ hg qpop
417 $ hg qpop
418 popping p2
418 popping p2
419 patch queue now empty
419 patch queue now empty
420 $ echo a >> a
420 $ echo a >> a
421 $ hg --config mq.keepchanges=1 qpush --force
421 $ hg --config mq.keepchanges=1 qpush --force
422 applying p2
422 applying p2
423 now at: p2
423 now at: p2
424 $ hg st a
424 $ hg st a
425
425
426 $ cd ..
426 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now