##// END OF EJS Templates
icasefs: add test for case preservation on case insensitive filesystem...
FUJIWARA Katsunori -
r15728:bc2a2235 default
parent child Browse files
Show More
@@ -1,1396 +1,1439 b''
1 $ "$TESTDIR/hghave" execbit || exit 80
1 $ "$TESTDIR/hghave" execbit || exit 80
2
2
3 $ checkundo()
3 $ checkundo()
4 > {
4 > {
5 > if [ -f .hg/store/undo ]; then
5 > if [ -f .hg/store/undo ]; then
6 > echo ".hg/store/undo still exists after $1"
6 > echo ".hg/store/undo still exists after $1"
7 > fi
7 > fi
8 > }
8 > }
9
9
10 $ echo "[extensions]" >> $HGRCPATH
10 $ echo "[extensions]" >> $HGRCPATH
11 $ echo "mq=" >> $HGRCPATH
11 $ echo "mq=" >> $HGRCPATH
12
12
13 $ echo "[mq]" >> $HGRCPATH
13 $ echo "[mq]" >> $HGRCPATH
14 $ echo "plain=true" >> $HGRCPATH
14 $ echo "plain=true" >> $HGRCPATH
15
15
16
16
17 help
17 help
18
18
19 $ hg help mq
19 $ hg help mq
20 mq extension - manage a stack of patches
20 mq extension - manage a stack of patches
21
21
22 This extension lets you work with a stack of patches in a Mercurial
22 This extension lets you work with a stack of patches in a Mercurial
23 repository. It manages two stacks of patches - all known patches, and applied
23 repository. It manages two stacks of patches - all known patches, and applied
24 patches (subset of known patches).
24 patches (subset of known patches).
25
25
26 Known patches are represented as patch files in the .hg/patches directory.
26 Known patches are represented as patch files in the .hg/patches directory.
27 Applied patches are both patch files and changesets.
27 Applied patches are both patch files and changesets.
28
28
29 Common tasks (use "hg help command" for more details):
29 Common tasks (use "hg help command" for more details):
30
30
31 create new patch qnew
31 create new patch qnew
32 import existing patch qimport
32 import existing patch qimport
33
33
34 print patch series qseries
34 print patch series qseries
35 print applied patches qapplied
35 print applied patches qapplied
36
36
37 add known patch to applied stack qpush
37 add known patch to applied stack qpush
38 remove patch from applied stack qpop
38 remove patch from applied stack qpop
39 refresh contents of top applied patch qrefresh
39 refresh contents of top applied patch qrefresh
40
40
41 By default, mq will automatically use git patches when required to avoid
41 By default, mq will automatically use git patches when required to avoid
42 losing file mode changes, copy records, binary files or empty files creations
42 losing file mode changes, copy records, binary files or empty files creations
43 or deletions. This behaviour can be configured with:
43 or deletions. This behaviour can be configured with:
44
44
45 [mq]
45 [mq]
46 git = auto/keep/yes/no
46 git = auto/keep/yes/no
47
47
48 If set to 'keep', mq will obey the [diff] section configuration while
48 If set to 'keep', mq will obey the [diff] section configuration while
49 preserving existing git patches upon qrefresh. If set to 'yes' or 'no', mq
49 preserving existing git patches upon qrefresh. If set to 'yes' or 'no', mq
50 will override the [diff] section and always generate git or regular patches,
50 will override the [diff] section and always generate git or regular patches,
51 possibly losing data in the second case.
51 possibly losing data in the second case.
52
52
53 You will by default be managing a patch queue named "patches". You can create
53 You will by default be managing a patch queue named "patches". You can create
54 other, independent patch queues with the "hg qqueue" command.
54 other, independent patch queues with the "hg qqueue" command.
55
55
56 list of commands:
56 list of commands:
57
57
58 qapplied print the patches already applied
58 qapplied print the patches already applied
59 qclone clone main and patch repository at same time
59 qclone clone main and patch repository at same time
60 qdelete remove patches from queue
60 qdelete remove patches from queue
61 qdiff diff of the current patch and subsequent modifications
61 qdiff diff of the current patch and subsequent modifications
62 qfinish move applied patches into repository history
62 qfinish move applied patches into repository history
63 qfold fold the named patches into the current patch
63 qfold fold the named patches into the current patch
64 qgoto push or pop patches until named patch is at top of stack
64 qgoto push or pop patches until named patch is at top of stack
65 qguard set or print guards for a patch
65 qguard set or print guards for a patch
66 qheader print the header of the topmost or specified patch
66 qheader print the header of the topmost or specified patch
67 qimport import a patch
67 qimport import a patch
68 qnew create a new patch
68 qnew create a new patch
69 qnext print the name of the next patch
69 qnext print the name of the next patch
70 qpop pop the current patch off the stack
70 qpop pop the current patch off the stack
71 qprev print the name of the previous patch
71 qprev print the name of the previous patch
72 qpush push the next patch onto the stack
72 qpush push the next patch onto the stack
73 qqueue manage multiple patch queues
73 qqueue manage multiple patch queues
74 qrefresh update the current patch
74 qrefresh update the current patch
75 qrename rename a patch
75 qrename rename a patch
76 qselect set or print guarded patches to push
76 qselect set or print guarded patches to push
77 qseries print the entire series file
77 qseries print the entire series file
78 qtop print the name of the current patch
78 qtop print the name of the current patch
79 qunapplied print the patches not yet applied
79 qunapplied print the patches not yet applied
80 strip strip changesets and all their descendants from the repository
80 strip strip changesets and all their descendants from the repository
81
81
82 use "hg -v help mq" to show builtin aliases and global options
82 use "hg -v help mq" to show builtin aliases and global options
83
83
84 $ hg init a
84 $ hg init a
85 $ cd a
85 $ cd a
86 $ echo a > a
86 $ echo a > a
87 $ hg ci -Ama
87 $ hg ci -Ama
88 adding a
88 adding a
89
89
90 $ hg clone . ../k
90 $ hg clone . ../k
91 updating to branch default
91 updating to branch default
92 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
92 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
93
93
94 $ mkdir b
94 $ mkdir b
95 $ echo z > b/z
95 $ echo z > b/z
96 $ hg ci -Ama
96 $ hg ci -Ama
97 adding b/z
97 adding b/z
98
98
99
99
100 qinit
100 qinit
101
101
102 $ hg qinit
102 $ hg qinit
103
103
104 $ cd ..
104 $ cd ..
105 $ hg init b
105 $ hg init b
106
106
107
107
108 -R qinit
108 -R qinit
109
109
110 $ hg -R b qinit
110 $ hg -R b qinit
111
111
112 $ hg init c
112 $ hg init c
113
113
114
114
115 qinit -c
115 qinit -c
116
116
117 $ hg --cwd c qinit -c
117 $ hg --cwd c qinit -c
118 $ hg -R c/.hg/patches st
118 $ hg -R c/.hg/patches st
119 A .hgignore
119 A .hgignore
120 A series
120 A series
121
121
122
122
123 qinit; qinit -c
123 qinit; qinit -c
124
124
125 $ hg init d
125 $ hg init d
126 $ cd d
126 $ cd d
127 $ hg qinit
127 $ hg qinit
128 $ hg qinit -c
128 $ hg qinit -c
129
129
130 qinit -c should create both files if they don't exist
130 qinit -c should create both files if they don't exist
131
131
132 $ cat .hg/patches/.hgignore
132 $ cat .hg/patches/.hgignore
133 ^\.hg
133 ^\.hg
134 ^\.mq
134 ^\.mq
135 syntax: glob
135 syntax: glob
136 status
136 status
137 guards
137 guards
138 $ cat .hg/patches/series
138 $ cat .hg/patches/series
139 $ hg qinit -c
139 $ hg qinit -c
140 abort: repository $TESTTMP/d/.hg/patches already exists! (glob)
140 abort: repository $TESTTMP/d/.hg/patches already exists! (glob)
141 [255]
141 [255]
142 $ cd ..
142 $ cd ..
143
143
144 $ echo '% qinit; <stuff>; qinit -c'
144 $ echo '% qinit; <stuff>; qinit -c'
145 % qinit; <stuff>; qinit -c
145 % qinit; <stuff>; qinit -c
146 $ hg init e
146 $ hg init e
147 $ cd e
147 $ cd e
148 $ hg qnew A
148 $ hg qnew A
149 $ checkundo qnew
149 $ checkundo qnew
150 $ echo foo > foo
150 $ echo foo > foo
151 $ hg add foo
151 $ hg add foo
152 $ hg qrefresh
152 $ hg qrefresh
153 $ hg qnew B
153 $ hg qnew B
154 $ echo >> foo
154 $ echo >> foo
155 $ hg qrefresh
155 $ hg qrefresh
156 $ echo status >> .hg/patches/.hgignore
156 $ echo status >> .hg/patches/.hgignore
157 $ echo bleh >> .hg/patches/.hgignore
157 $ echo bleh >> .hg/patches/.hgignore
158 $ hg qinit -c
158 $ hg qinit -c
159 adding .hg/patches/A (glob)
159 adding .hg/patches/A (glob)
160 adding .hg/patches/B (glob)
160 adding .hg/patches/B (glob)
161 $ hg -R .hg/patches status
161 $ hg -R .hg/patches status
162 A .hgignore
162 A .hgignore
163 A A
163 A A
164 A B
164 A B
165 A series
165 A series
166
166
167 qinit -c shouldn't touch these files if they already exist
167 qinit -c shouldn't touch these files if they already exist
168
168
169 $ cat .hg/patches/.hgignore
169 $ cat .hg/patches/.hgignore
170 status
170 status
171 bleh
171 bleh
172 $ cat .hg/patches/series
172 $ cat .hg/patches/series
173 A
173 A
174 B
174 B
175
175
176 add an untracked file
176 add an untracked file
177
177
178 $ echo >> .hg/patches/flaf
178 $ echo >> .hg/patches/flaf
179
179
180 status --mq with color (issue2096)
180 status --mq with color (issue2096)
181
181
182 $ hg status --mq --config extensions.color= --config color.mode=ansi --color=always
182 $ hg status --mq --config extensions.color= --config color.mode=ansi --color=always
183 \x1b[0;32;1mA .hgignore\x1b[0m (esc)
183 \x1b[0;32;1mA .hgignore\x1b[0m (esc)
184 \x1b[0;32;1mA A\x1b[0m (esc)
184 \x1b[0;32;1mA A\x1b[0m (esc)
185 \x1b[0;32;1mA B\x1b[0m (esc)
185 \x1b[0;32;1mA B\x1b[0m (esc)
186 \x1b[0;32;1mA series\x1b[0m (esc)
186 \x1b[0;32;1mA series\x1b[0m (esc)
187 \x1b[0;35;1;4m? flaf\x1b[0m (esc)
187 \x1b[0;35;1;4m? flaf\x1b[0m (esc)
188
188
189 try the --mq option on a command provided by an extension
189 try the --mq option on a command provided by an extension
190
190
191 $ hg purge --mq --verbose --config extensions.purge=
191 $ hg purge --mq --verbose --config extensions.purge=
192 Removing file flaf
192 Removing file flaf
193
193
194 $ cd ..
194 $ cd ..
195
195
196 init --mq without repo
196 init --mq without repo
197
197
198 $ mkdir f
198 $ mkdir f
199 $ cd f
199 $ cd f
200 $ hg init --mq
200 $ hg init --mq
201 abort: there is no Mercurial repository here (.hg not found)
201 abort: there is no Mercurial repository here (.hg not found)
202 [255]
202 [255]
203 $ cd ..
203 $ cd ..
204
204
205 init --mq with repo path
205 init --mq with repo path
206
206
207 $ hg init g
207 $ hg init g
208 $ hg init --mq g
208 $ hg init --mq g
209 $ test -d g/.hg/patches/.hg
209 $ test -d g/.hg/patches/.hg
210
210
211 init --mq with nonexistent directory
211 init --mq with nonexistent directory
212
212
213 $ hg init --mq nonexistentdir
213 $ hg init --mq nonexistentdir
214 abort: repository nonexistentdir not found!
214 abort: repository nonexistentdir not found!
215 [255]
215 [255]
216
216
217
217
218 init --mq with bundle (non "local")
218 init --mq with bundle (non "local")
219
219
220 $ hg -R a bundle --all a.bundle >/dev/null
220 $ hg -R a bundle --all a.bundle >/dev/null
221 $ hg init --mq a.bundle
221 $ hg init --mq a.bundle
222 abort: only a local queue repository may be initialized
222 abort: only a local queue repository may be initialized
223 [255]
223 [255]
224
224
225 $ cd a
225 $ cd a
226
226
227 $ hg qnew -m 'foo bar' test.patch
227 $ hg qnew -m 'foo bar' test.patch
228
228
229 $ echo '# comment' > .hg/patches/series.tmp
229 $ echo '# comment' > .hg/patches/series.tmp
230 $ echo >> .hg/patches/series.tmp # empty line
230 $ echo >> .hg/patches/series.tmp # empty line
231 $ cat .hg/patches/series >> .hg/patches/series.tmp
231 $ cat .hg/patches/series >> .hg/patches/series.tmp
232 $ mv .hg/patches/series.tmp .hg/patches/series
232 $ mv .hg/patches/series.tmp .hg/patches/series
233
233
234
234
235 qrefresh
235 qrefresh
236
236
237 $ echo a >> a
237 $ echo a >> a
238 $ hg qrefresh
238 $ hg qrefresh
239 $ cat .hg/patches/test.patch
239 $ cat .hg/patches/test.patch
240 foo bar
240 foo bar
241
241
242 diff -r [a-f0-9]* a (re)
242 diff -r [a-f0-9]* a (re)
243 --- a/a\t(?P<date>.*) (re)
243 --- a/a\t(?P<date>.*) (re)
244 \+\+\+ b/a\t(?P<date2>.*) (re)
244 \+\+\+ b/a\t(?P<date2>.*) (re)
245 @@ -1,1 +1,2 @@
245 @@ -1,1 +1,2 @@
246 a
246 a
247 +a
247 +a
248
248
249 empty qrefresh
249 empty qrefresh
250
250
251 $ hg qrefresh -X a
251 $ hg qrefresh -X a
252
252
253 revision:
253 revision:
254
254
255 $ hg diff -r -2 -r -1
255 $ hg diff -r -2 -r -1
256
256
257 patch:
257 patch:
258
258
259 $ cat .hg/patches/test.patch
259 $ cat .hg/patches/test.patch
260 foo bar
260 foo bar
261
261
262
262
263 working dir diff:
263 working dir diff:
264
264
265 $ hg diff --nodates -q
265 $ hg diff --nodates -q
266 --- a/a
266 --- a/a
267 +++ b/a
267 +++ b/a
268 @@ -1,1 +1,2 @@
268 @@ -1,1 +1,2 @@
269 a
269 a
270 +a
270 +a
271
271
272 restore things
272 restore things
273
273
274 $ hg qrefresh
274 $ hg qrefresh
275 $ checkundo qrefresh
275 $ checkundo qrefresh
276
276
277
277
278 qpop
278 qpop
279
279
280 $ hg qpop
280 $ hg qpop
281 popping test.patch
281 popping test.patch
282 patch queue now empty
282 patch queue now empty
283 $ checkundo qpop
283 $ checkundo qpop
284
284
285
285
286 qpush with dump of tag cache
286 qpush with dump of tag cache
287 Dump the tag cache to ensure that it has exactly one head after qpush.
287 Dump the tag cache to ensure that it has exactly one head after qpush.
288
288
289 $ rm -f .hg/cache/tags
289 $ rm -f .hg/cache/tags
290 $ hg tags > /dev/null
290 $ hg tags > /dev/null
291
291
292 .hg/cache/tags (pre qpush):
292 .hg/cache/tags (pre qpush):
293
293
294 $ cat .hg/cache/tags
294 $ cat .hg/cache/tags
295 1 [\da-f]{40} (re)
295 1 [\da-f]{40} (re)
296
296
297 $ hg qpush
297 $ hg qpush
298 applying test.patch
298 applying test.patch
299 now at: test.patch
299 now at: test.patch
300 $ hg tags > /dev/null
300 $ hg tags > /dev/null
301
301
302 .hg/cache/tags (post qpush):
302 .hg/cache/tags (post qpush):
303
303
304 $ cat .hg/cache/tags
304 $ cat .hg/cache/tags
305 2 [\da-f]{40} (re)
305 2 [\da-f]{40} (re)
306
306
307 $ checkundo qpush
307 $ checkundo qpush
308 $ cd ..
308 $ cd ..
309
309
310
310
311 pop/push outside repo
311 pop/push outside repo
312 $ hg -R a qpop
312 $ hg -R a qpop
313 popping test.patch
313 popping test.patch
314 patch queue now empty
314 patch queue now empty
315 $ hg -R a qpush
315 $ hg -R a qpush
316 applying test.patch
316 applying test.patch
317 now at: test.patch
317 now at: test.patch
318
318
319 $ cd a
319 $ cd a
320 $ hg qnew test2.patch
320 $ hg qnew test2.patch
321
321
322 qrefresh in subdir
322 qrefresh in subdir
323
323
324 $ cd b
324 $ cd b
325 $ echo a > a
325 $ echo a > a
326 $ hg add a
326 $ hg add a
327 $ hg qrefresh
327 $ hg qrefresh
328
328
329 pop/push -a in subdir
329 pop/push -a in subdir
330
330
331 $ hg qpop -a
331 $ hg qpop -a
332 popping test2.patch
332 popping test2.patch
333 popping test.patch
333 popping test.patch
334 patch queue now empty
334 patch queue now empty
335 $ hg --traceback qpush -a
335 $ hg --traceback qpush -a
336 applying test.patch
336 applying test.patch
337 applying test2.patch
337 applying test2.patch
338 now at: test2.patch
338 now at: test2.patch
339
339
340
340
341 setting columns & formatted tests truncating (issue1912)
341 setting columns & formatted tests truncating (issue1912)
342
342
343 $ COLUMNS=4 hg qseries --config ui.formatted=true
343 $ COLUMNS=4 hg qseries --config ui.formatted=true
344 test.patch
344 test.patch
345 test2.patch
345 test2.patch
346 $ COLUMNS=20 hg qseries --config ui.formatted=true -vs
346 $ COLUMNS=20 hg qseries --config ui.formatted=true -vs
347 0 A test.patch: f...
347 0 A test.patch: f...
348 1 A test2.patch:
348 1 A test2.patch:
349 $ hg qpop
349 $ hg qpop
350 popping test2.patch
350 popping test2.patch
351 now at: test.patch
351 now at: test.patch
352 $ hg qseries -vs
352 $ hg qseries -vs
353 0 A test.patch: foo bar
353 0 A test.patch: foo bar
354 1 U test2.patch:
354 1 U test2.patch:
355 $ hg sum | grep mq
355 $ hg sum | grep mq
356 mq: 1 applied, 1 unapplied
356 mq: 1 applied, 1 unapplied
357 $ hg qpush
357 $ hg qpush
358 applying test2.patch
358 applying test2.patch
359 now at: test2.patch
359 now at: test2.patch
360 $ hg sum | grep mq
360 $ hg sum | grep mq
361 mq: 2 applied
361 mq: 2 applied
362 $ hg qapplied
362 $ hg qapplied
363 test.patch
363 test.patch
364 test2.patch
364 test2.patch
365 $ hg qtop
365 $ hg qtop
366 test2.patch
366 test2.patch
367
367
368
368
369 prev
369 prev
370
370
371 $ hg qapp -1
371 $ hg qapp -1
372 test.patch
372 test.patch
373
373
374 next
374 next
375
375
376 $ hg qunapp -1
376 $ hg qunapp -1
377 all patches applied
377 all patches applied
378 [1]
378 [1]
379
379
380 $ hg qpop
380 $ hg qpop
381 popping test2.patch
381 popping test2.patch
382 now at: test.patch
382 now at: test.patch
383
383
384 commit should fail
384 commit should fail
385
385
386 $ hg commit
386 $ hg commit
387 abort: cannot commit over an applied mq patch
387 abort: cannot commit over an applied mq patch
388 [255]
388 [255]
389
389
390 push should fail
390 push should fail
391
391
392 $ hg push ../../k
392 $ hg push ../../k
393 pushing to ../../k
393 pushing to ../../k
394 abort: source has mq patches applied
394 abort: source has mq patches applied
395 [255]
395 [255]
396
396
397
397
398 import should fail
398 import should fail
399
399
400 $ hg st .
400 $ hg st .
401 $ echo foo >> ../a
401 $ echo foo >> ../a
402 $ hg diff > ../../import.diff
402 $ hg diff > ../../import.diff
403 $ hg revert --no-backup ../a
403 $ hg revert --no-backup ../a
404 $ hg import ../../import.diff
404 $ hg import ../../import.diff
405 abort: cannot import over an applied patch
405 abort: cannot import over an applied patch
406 [255]
406 [255]
407 $ hg st
407 $ hg st
408
408
409 import --no-commit should succeed
409 import --no-commit should succeed
410
410
411 $ hg import --no-commit ../../import.diff
411 $ hg import --no-commit ../../import.diff
412 applying ../../import.diff
412 applying ../../import.diff
413 $ hg st
413 $ hg st
414 M a
414 M a
415 $ hg revert --no-backup ../a
415 $ hg revert --no-backup ../a
416
416
417
417
418 qunapplied
418 qunapplied
419
419
420 $ hg qunapplied
420 $ hg qunapplied
421 test2.patch
421 test2.patch
422
422
423
423
424 qpush/qpop with index
424 qpush/qpop with index
425
425
426 $ hg qnew test1b.patch
426 $ hg qnew test1b.patch
427 $ echo 1b > 1b
427 $ echo 1b > 1b
428 $ hg add 1b
428 $ hg add 1b
429 $ hg qrefresh
429 $ hg qrefresh
430 $ hg qpush 2
430 $ hg qpush 2
431 applying test2.patch
431 applying test2.patch
432 now at: test2.patch
432 now at: test2.patch
433 $ hg qpop 0
433 $ hg qpop 0
434 popping test2.patch
434 popping test2.patch
435 popping test1b.patch
435 popping test1b.patch
436 now at: test.patch
436 now at: test.patch
437 $ hg qpush test.patch+1
437 $ hg qpush test.patch+1
438 applying test1b.patch
438 applying test1b.patch
439 now at: test1b.patch
439 now at: test1b.patch
440 $ hg qpush test.patch+2
440 $ hg qpush test.patch+2
441 applying test2.patch
441 applying test2.patch
442 now at: test2.patch
442 now at: test2.patch
443 $ hg qpop test2.patch-1
443 $ hg qpop test2.patch-1
444 popping test2.patch
444 popping test2.patch
445 now at: test1b.patch
445 now at: test1b.patch
446 $ hg qpop test2.patch-2
446 $ hg qpop test2.patch-2
447 popping test1b.patch
447 popping test1b.patch
448 now at: test.patch
448 now at: test.patch
449 $ hg qpush test1b.patch+1
449 $ hg qpush test1b.patch+1
450 applying test1b.patch
450 applying test1b.patch
451 applying test2.patch
451 applying test2.patch
452 now at: test2.patch
452 now at: test2.patch
453
453
454
454
455 qpush --move
455 qpush --move
456
456
457 $ hg qpop -a
457 $ hg qpop -a
458 popping test2.patch
458 popping test2.patch
459 popping test1b.patch
459 popping test1b.patch
460 popping test.patch
460 popping test.patch
461 patch queue now empty
461 patch queue now empty
462 $ hg qguard test1b.patch -- -negguard
462 $ hg qguard test1b.patch -- -negguard
463 $ hg qguard test2.patch -- +posguard
463 $ hg qguard test2.patch -- +posguard
464 $ hg qpush --move test2.patch # can't move guarded patch
464 $ hg qpush --move test2.patch # can't move guarded patch
465 cannot push 'test2.patch' - guarded by '+posguard'
465 cannot push 'test2.patch' - guarded by '+posguard'
466 [1]
466 [1]
467 $ hg qselect posguard
467 $ hg qselect posguard
468 number of unguarded, unapplied patches has changed from 2 to 3
468 number of unguarded, unapplied patches has changed from 2 to 3
469 $ hg qpush --move test2.patch # move to front
469 $ hg qpush --move test2.patch # move to front
470 applying test2.patch
470 applying test2.patch
471 now at: test2.patch
471 now at: test2.patch
472 $ hg qpush --move test1b.patch # negative guard unselected
472 $ hg qpush --move test1b.patch # negative guard unselected
473 applying test1b.patch
473 applying test1b.patch
474 now at: test1b.patch
474 now at: test1b.patch
475 $ hg qpush --move test.patch # noop move
475 $ hg qpush --move test.patch # noop move
476 applying test.patch
476 applying test.patch
477 now at: test.patch
477 now at: test.patch
478 $ hg qseries -v
478 $ hg qseries -v
479 0 A test2.patch
479 0 A test2.patch
480 1 A test1b.patch
480 1 A test1b.patch
481 2 A test.patch
481 2 A test.patch
482 $ hg qpop -a
482 $ hg qpop -a
483 popping test.patch
483 popping test.patch
484 popping test1b.patch
484 popping test1b.patch
485 popping test2.patch
485 popping test2.patch
486 patch queue now empty
486 patch queue now empty
487
487
488 cleaning up
488 cleaning up
489
489
490 $ hg qselect --none
490 $ hg qselect --none
491 guards deactivated
491 guards deactivated
492 number of unguarded, unapplied patches has changed from 3 to 2
492 number of unguarded, unapplied patches has changed from 3 to 2
493 $ hg qguard --none test1b.patch
493 $ hg qguard --none test1b.patch
494 $ hg qguard --none test2.patch
494 $ hg qguard --none test2.patch
495 $ hg qpush --move test.patch
495 $ hg qpush --move test.patch
496 applying test.patch
496 applying test.patch
497 now at: test.patch
497 now at: test.patch
498 $ hg qpush --move test1b.patch
498 $ hg qpush --move test1b.patch
499 applying test1b.patch
499 applying test1b.patch
500 now at: test1b.patch
500 now at: test1b.patch
501 $ hg qpush --move bogus # nonexistent patch
501 $ hg qpush --move bogus # nonexistent patch
502 abort: patch bogus not in series
502 abort: patch bogus not in series
503 [255]
503 [255]
504 $ hg qpush --move # no patch
504 $ hg qpush --move # no patch
505 abort: please specify the patch to move
505 abort: please specify the patch to move
506 [255]
506 [255]
507 $ hg qpush --move test.patch # already applied
507 $ hg qpush --move test.patch # already applied
508 abort: cannot push to a previous patch: test.patch
508 abort: cannot push to a previous patch: test.patch
509 [255]
509 [255]
510 $ hg qpush
510 $ hg qpush
511 applying test2.patch
511 applying test2.patch
512 now at: test2.patch
512 now at: test2.patch
513
513
514
514
515 series after move
515 series after move
516
516
517 $ cat `hg root`/.hg/patches/series
517 $ cat `hg root`/.hg/patches/series
518 test.patch
518 test.patch
519 test1b.patch
519 test1b.patch
520 test2.patch
520 test2.patch
521 # comment
521 # comment
522
522
523
523
524
524
525 pop, qapplied, qunapplied
525 pop, qapplied, qunapplied
526
526
527 $ hg qseries -v
527 $ hg qseries -v
528 0 A test.patch
528 0 A test.patch
529 1 A test1b.patch
529 1 A test1b.patch
530 2 A test2.patch
530 2 A test2.patch
531
531
532 qapplied -1 test.patch
532 qapplied -1 test.patch
533
533
534 $ hg qapplied -1 test.patch
534 $ hg qapplied -1 test.patch
535 only one patch applied
535 only one patch applied
536 [1]
536 [1]
537
537
538 qapplied -1 test1b.patch
538 qapplied -1 test1b.patch
539
539
540 $ hg qapplied -1 test1b.patch
540 $ hg qapplied -1 test1b.patch
541 test.patch
541 test.patch
542
542
543 qapplied -1 test2.patch
543 qapplied -1 test2.patch
544
544
545 $ hg qapplied -1 test2.patch
545 $ hg qapplied -1 test2.patch
546 test1b.patch
546 test1b.patch
547
547
548 qapplied -1
548 qapplied -1
549
549
550 $ hg qapplied -1
550 $ hg qapplied -1
551 test1b.patch
551 test1b.patch
552
552
553 qapplied
553 qapplied
554
554
555 $ hg qapplied
555 $ hg qapplied
556 test.patch
556 test.patch
557 test1b.patch
557 test1b.patch
558 test2.patch
558 test2.patch
559
559
560 qapplied test1b.patch
560 qapplied test1b.patch
561
561
562 $ hg qapplied test1b.patch
562 $ hg qapplied test1b.patch
563 test.patch
563 test.patch
564 test1b.patch
564 test1b.patch
565
565
566 qunapplied -1
566 qunapplied -1
567
567
568 $ hg qunapplied -1
568 $ hg qunapplied -1
569 all patches applied
569 all patches applied
570 [1]
570 [1]
571
571
572 qunapplied
572 qunapplied
573
573
574 $ hg qunapplied
574 $ hg qunapplied
575
575
576 popping
576 popping
577
577
578 $ hg qpop
578 $ hg qpop
579 popping test2.patch
579 popping test2.patch
580 now at: test1b.patch
580 now at: test1b.patch
581
581
582 qunapplied -1
582 qunapplied -1
583
583
584 $ hg qunapplied -1
584 $ hg qunapplied -1
585 test2.patch
585 test2.patch
586
586
587 qunapplied
587 qunapplied
588
588
589 $ hg qunapplied
589 $ hg qunapplied
590 test2.patch
590 test2.patch
591
591
592 qunapplied test2.patch
592 qunapplied test2.patch
593
593
594 $ hg qunapplied test2.patch
594 $ hg qunapplied test2.patch
595
595
596 qunapplied -1 test2.patch
596 qunapplied -1 test2.patch
597
597
598 $ hg qunapplied -1 test2.patch
598 $ hg qunapplied -1 test2.patch
599 all patches applied
599 all patches applied
600 [1]
600 [1]
601
601
602 popping -a
602 popping -a
603
603
604 $ hg qpop -a
604 $ hg qpop -a
605 popping test1b.patch
605 popping test1b.patch
606 popping test.patch
606 popping test.patch
607 patch queue now empty
607 patch queue now empty
608
608
609 qapplied
609 qapplied
610
610
611 $ hg qapplied
611 $ hg qapplied
612
612
613 qapplied -1
613 qapplied -1
614
614
615 $ hg qapplied -1
615 $ hg qapplied -1
616 no patches applied
616 no patches applied
617 [1]
617 [1]
618 $ hg qpush
618 $ hg qpush
619 applying test.patch
619 applying test.patch
620 now at: test.patch
620 now at: test.patch
621
621
622
622
623 push should succeed
623 push should succeed
624
624
625 $ hg qpop -a
625 $ hg qpop -a
626 popping test.patch
626 popping test.patch
627 patch queue now empty
627 patch queue now empty
628 $ hg push ../../k
628 $ hg push ../../k
629 pushing to ../../k
629 pushing to ../../k
630 searching for changes
630 searching for changes
631 adding changesets
631 adding changesets
632 adding manifests
632 adding manifests
633 adding file changes
633 adding file changes
634 added 1 changesets with 1 changes to 1 files
634 added 1 changesets with 1 changes to 1 files
635
635
636
636
637 we want to start with some patches applied
637 we want to start with some patches applied
638
638
639 $ hg qpush -a
639 $ hg qpush -a
640 applying test.patch
640 applying test.patch
641 applying test1b.patch
641 applying test1b.patch
642 applying test2.patch
642 applying test2.patch
643 now at: test2.patch
643 now at: test2.patch
644
644
645 % pops all patches and succeeds
645 % pops all patches and succeeds
646
646
647 $ hg qpop -a
647 $ hg qpop -a
648 popping test2.patch
648 popping test2.patch
649 popping test1b.patch
649 popping test1b.patch
650 popping test.patch
650 popping test.patch
651 patch queue now empty
651 patch queue now empty
652
652
653 % does nothing and succeeds
653 % does nothing and succeeds
654
654
655 $ hg qpop -a
655 $ hg qpop -a
656 no patches applied
656 no patches applied
657
657
658 % fails - nothing else to pop
658 % fails - nothing else to pop
659
659
660 $ hg qpop
660 $ hg qpop
661 no patches applied
661 no patches applied
662 [1]
662 [1]
663
663
664 % pushes a patch and succeeds
664 % pushes a patch and succeeds
665
665
666 $ hg qpush
666 $ hg qpush
667 applying test.patch
667 applying test.patch
668 now at: test.patch
668 now at: test.patch
669
669
670 % pops a patch and succeeds
670 % pops a patch and succeeds
671
671
672 $ hg qpop
672 $ hg qpop
673 popping test.patch
673 popping test.patch
674 patch queue now empty
674 patch queue now empty
675
675
676 % pushes up to test1b.patch and succeeds
676 % pushes up to test1b.patch and succeeds
677
677
678 $ hg qpush test1b.patch
678 $ hg qpush test1b.patch
679 applying test.patch
679 applying test.patch
680 applying test1b.patch
680 applying test1b.patch
681 now at: test1b.patch
681 now at: test1b.patch
682
682
683 % does nothing and succeeds
683 % does nothing and succeeds
684
684
685 $ hg qpush test1b.patch
685 $ hg qpush test1b.patch
686 qpush: test1b.patch is already at the top
686 qpush: test1b.patch is already at the top
687
687
688 % does nothing and succeeds
688 % does nothing and succeeds
689
689
690 $ hg qpop test1b.patch
690 $ hg qpop test1b.patch
691 qpop: test1b.patch is already at the top
691 qpop: test1b.patch is already at the top
692
692
693 % fails - can't push to this patch
693 % fails - can't push to this patch
694
694
695 $ hg qpush test.patch
695 $ hg qpush test.patch
696 abort: cannot push to a previous patch: test.patch
696 abort: cannot push to a previous patch: test.patch
697 [255]
697 [255]
698
698
699 % fails - can't pop to this patch
699 % fails - can't pop to this patch
700
700
701 $ hg qpop test2.patch
701 $ hg qpop test2.patch
702 abort: patch test2.patch is not applied
702 abort: patch test2.patch is not applied
703 [255]
703 [255]
704
704
705 % pops up to test.patch and succeeds
705 % pops up to test.patch and succeeds
706
706
707 $ hg qpop test.patch
707 $ hg qpop test.patch
708 popping test1b.patch
708 popping test1b.patch
709 now at: test.patch
709 now at: test.patch
710
710
711 % pushes all patches and succeeds
711 % pushes all patches and succeeds
712
712
713 $ hg qpush -a
713 $ hg qpush -a
714 applying test1b.patch
714 applying test1b.patch
715 applying test2.patch
715 applying test2.patch
716 now at: test2.patch
716 now at: test2.patch
717
717
718 % does nothing and succeeds
718 % does nothing and succeeds
719
719
720 $ hg qpush -a
720 $ hg qpush -a
721 all patches are currently applied
721 all patches are currently applied
722
722
723 % fails - nothing else to push
723 % fails - nothing else to push
724
724
725 $ hg qpush
725 $ hg qpush
726 patch series already fully applied
726 patch series already fully applied
727 [1]
727 [1]
728
728
729 % does nothing and succeeds
729 % does nothing and succeeds
730
730
731 $ hg qpush test2.patch
731 $ hg qpush test2.patch
732 qpush: test2.patch is already at the top
732 qpush: test2.patch is already at the top
733
733
734 strip
734 strip
735
735
736 $ cd ../../b
736 $ cd ../../b
737 $ echo x>x
737 $ echo x>x
738 $ hg ci -Ama
738 $ hg ci -Ama
739 adding x
739 adding x
740 $ hg strip tip
740 $ hg strip tip
741 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
741 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
742 saved backup bundle to $TESTTMP/b/.hg/strip-backup/*-backup.hg (glob)
742 saved backup bundle to $TESTTMP/b/.hg/strip-backup/*-backup.hg (glob)
743 $ hg unbundle .hg/strip-backup/*
743 $ hg unbundle .hg/strip-backup/*
744 adding changesets
744 adding changesets
745 adding manifests
745 adding manifests
746 adding file changes
746 adding file changes
747 added 1 changesets with 1 changes to 1 files
747 added 1 changesets with 1 changes to 1 files
748 (run 'hg update' to get a working copy)
748 (run 'hg update' to get a working copy)
749
749
750
750
751 strip with local changes, should complain
751 strip with local changes, should complain
752
752
753 $ hg up
753 $ hg up
754 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
754 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
755 $ echo y>y
755 $ echo y>y
756 $ hg add y
756 $ hg add y
757 $ hg strip tip
757 $ hg strip tip
758 abort: local changes found
758 abort: local changes found
759 [255]
759 [255]
760
760
761 --force strip with local changes
761 --force strip with local changes
762
762
763 $ hg strip -f tip
763 $ hg strip -f tip
764 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
764 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
765 saved backup bundle to $TESTTMP/b/.hg/strip-backup/*-backup.hg (glob)
765 saved backup bundle to $TESTTMP/b/.hg/strip-backup/*-backup.hg (glob)
766
766
767
767
768 cd b; hg qrefresh
768 cd b; hg qrefresh
769
769
770 $ hg init refresh
770 $ hg init refresh
771 $ cd refresh
771 $ cd refresh
772 $ echo a > a
772 $ echo a > a
773 $ hg ci -Ama
773 $ hg ci -Ama
774 adding a
774 adding a
775 $ hg qnew -mfoo foo
775 $ hg qnew -mfoo foo
776 $ echo a >> a
776 $ echo a >> a
777 $ hg qrefresh
777 $ hg qrefresh
778 $ mkdir b
778 $ mkdir b
779 $ cd b
779 $ cd b
780 $ echo f > f
780 $ echo f > f
781 $ hg add f
781 $ hg add f
782 $ hg qrefresh
782 $ hg qrefresh
783 $ cat ../.hg/patches/foo
783 $ cat ../.hg/patches/foo
784 foo
784 foo
785
785
786 diff -r cb9a9f314b8b a
786 diff -r cb9a9f314b8b a
787 --- a/a\t(?P<date>.*) (re)
787 --- a/a\t(?P<date>.*) (re)
788 \+\+\+ b/a\t(?P<date>.*) (re)
788 \+\+\+ b/a\t(?P<date>.*) (re)
789 @@ -1,1 +1,2 @@
789 @@ -1,1 +1,2 @@
790 a
790 a
791 +a
791 +a
792 diff -r cb9a9f314b8b b/f
792 diff -r cb9a9f314b8b b/f
793 --- /dev/null\t(?P<date>.*) (re)
793 --- /dev/null\t(?P<date>.*) (re)
794 \+\+\+ b/b/f\t(?P<date>.*) (re)
794 \+\+\+ b/b/f\t(?P<date>.*) (re)
795 @@ -0,0 +1,1 @@
795 @@ -0,0 +1,1 @@
796 +f
796 +f
797
797
798 hg qrefresh .
798 hg qrefresh .
799
799
800 $ hg qrefresh .
800 $ hg qrefresh .
801 $ cat ../.hg/patches/foo
801 $ cat ../.hg/patches/foo
802 foo
802 foo
803
803
804 diff -r cb9a9f314b8b b/f
804 diff -r cb9a9f314b8b b/f
805 --- /dev/null\t(?P<date>.*) (re)
805 --- /dev/null\t(?P<date>.*) (re)
806 \+\+\+ b/b/f\t(?P<date>.*) (re)
806 \+\+\+ b/b/f\t(?P<date>.*) (re)
807 @@ -0,0 +1,1 @@
807 @@ -0,0 +1,1 @@
808 +f
808 +f
809 $ hg status
809 $ hg status
810 M a
810 M a
811
811
812
812
813 qpush failure
813 qpush failure
814
814
815 $ cd ..
815 $ cd ..
816 $ hg qrefresh
816 $ hg qrefresh
817 $ hg qnew -mbar bar
817 $ hg qnew -mbar bar
818 $ echo foo > foo
818 $ echo foo > foo
819 $ echo bar > bar
819 $ echo bar > bar
820 $ hg add foo bar
820 $ hg add foo bar
821 $ hg qrefresh
821 $ hg qrefresh
822 $ hg qpop -a
822 $ hg qpop -a
823 popping bar
823 popping bar
824 popping foo
824 popping foo
825 patch queue now empty
825 patch queue now empty
826 $ echo bar > foo
826 $ echo bar > foo
827 $ hg qpush -a
827 $ hg qpush -a
828 applying foo
828 applying foo
829 applying bar
829 applying bar
830 file foo already exists
830 file foo already exists
831 1 out of 1 hunks FAILED -- saving rejects to file foo.rej
831 1 out of 1 hunks FAILED -- saving rejects to file foo.rej
832 patch failed, unable to continue (try -v)
832 patch failed, unable to continue (try -v)
833 patch failed, rejects left in working dir
833 patch failed, rejects left in working dir
834 errors during apply, please fix and refresh bar
834 errors during apply, please fix and refresh bar
835 [2]
835 [2]
836 $ hg st
836 $ hg st
837 ? foo
837 ? foo
838 ? foo.rej
838 ? foo.rej
839
839
840
840
841 mq tags
841 mq tags
842
842
843 $ hg log --template '{rev} {tags}\n' -r qparent:qtip
843 $ hg log --template '{rev} {tags}\n' -r qparent:qtip
844 0 qparent
844 0 qparent
845 1 foo qbase
845 1 foo qbase
846 2 bar qtip tip
846 2 bar qtip tip
847
847
848 mq revset
848 mq revset
849
849
850 $ hg log -r 'mq()' --template '{rev}\n'
850 $ hg log -r 'mq()' --template '{rev}\n'
851 1
851 1
852 2
852 2
853 $ hg help revsets | grep -i mq
853 $ hg help revsets | grep -i mq
854 "mq()"
854 "mq()"
855 Changesets managed by MQ.
855 Changesets managed by MQ.
856
856
857 bad node in status
857 bad node in status
858
858
859 $ hg qpop
859 $ hg qpop
860 popping bar
860 popping bar
861 now at: foo
861 now at: foo
862 $ hg strip -qn tip
862 $ hg strip -qn tip
863 $ hg tip
863 $ hg tip
864 changeset: 0:cb9a9f314b8b
864 changeset: 0:cb9a9f314b8b
865 tag: tip
865 tag: tip
866 user: test
866 user: test
867 date: Thu Jan 01 00:00:00 1970 +0000
867 date: Thu Jan 01 00:00:00 1970 +0000
868 summary: a
868 summary: a
869
869
870 $ hg branches
870 $ hg branches
871 default 0:cb9a9f314b8b
871 default 0:cb9a9f314b8b
872 $ hg qpop
872 $ hg qpop
873 no patches applied
873 no patches applied
874 [1]
874 [1]
875
875
876 $ cat >>$HGRCPATH <<EOF
876 $ cat >>$HGRCPATH <<EOF
877 > [diff]
877 > [diff]
878 > git = True
878 > git = True
879 > EOF
879 > EOF
880 $ cd ..
880 $ cd ..
881 $ hg init git
881 $ hg init git
882 $ cd git
882 $ cd git
883 $ hg qinit
883 $ hg qinit
884
884
885 $ hg qnew -m'new file' new
885 $ hg qnew -m'new file' new
886 $ echo foo > new
886 $ echo foo > new
887 $ chmod +x new
887 $ chmod +x new
888 $ hg add new
888 $ hg add new
889 $ hg qrefresh
889 $ hg qrefresh
890 $ cat .hg/patches/new
890 $ cat .hg/patches/new
891 new file
891 new file
892
892
893 diff --git a/new b/new
893 diff --git a/new b/new
894 new file mode 100755
894 new file mode 100755
895 --- /dev/null
895 --- /dev/null
896 +++ b/new
896 +++ b/new
897 @@ -0,0 +1,1 @@
897 @@ -0,0 +1,1 @@
898 +foo
898 +foo
899
899
900 $ hg qnew -m'copy file' copy
900 $ hg qnew -m'copy file' copy
901 $ hg cp new copy
901 $ hg cp new copy
902 $ hg qrefresh
902 $ hg qrefresh
903 $ cat .hg/patches/copy
903 $ cat .hg/patches/copy
904 copy file
904 copy file
905
905
906 diff --git a/new b/copy
906 diff --git a/new b/copy
907 copy from new
907 copy from new
908 copy to copy
908 copy to copy
909
909
910 $ hg qpop
910 $ hg qpop
911 popping copy
911 popping copy
912 now at: new
912 now at: new
913 $ hg qpush
913 $ hg qpush
914 applying copy
914 applying copy
915 now at: copy
915 now at: copy
916 $ hg qdiff
916 $ hg qdiff
917 diff --git a/new b/copy
917 diff --git a/new b/copy
918 copy from new
918 copy from new
919 copy to copy
919 copy to copy
920 $ cat >>$HGRCPATH <<EOF
920 $ cat >>$HGRCPATH <<EOF
921 > [diff]
921 > [diff]
922 > git = False
922 > git = False
923 > EOF
923 > EOF
924 $ hg qdiff --git
924 $ hg qdiff --git
925 diff --git a/new b/copy
925 diff --git a/new b/copy
926 copy from new
926 copy from new
927 copy to copy
927 copy to copy
928 $ cd ..
928 $ cd ..
929
929
930 empty lines in status
930 empty lines in status
931
931
932 $ hg init emptystatus
932 $ hg init emptystatus
933 $ cd emptystatus
933 $ cd emptystatus
934 $ hg qinit
934 $ hg qinit
935 $ printf '\n\n' > .hg/patches/status
935 $ printf '\n\n' > .hg/patches/status
936 $ hg qser
936 $ hg qser
937 $ cd ..
937 $ cd ..
938
938
939 bad line in status (without ":")
939 bad line in status (without ":")
940
940
941 $ hg init badstatus
941 $ hg init badstatus
942 $ cd badstatus
942 $ cd badstatus
943 $ hg qinit
943 $ hg qinit
944 $ printf 'babar has no colon in this line\n' > .hg/patches/status
944 $ printf 'babar has no colon in this line\n' > .hg/patches/status
945 $ hg qser
945 $ hg qser
946 malformated mq status line: ['babar has no colon in this line']
946 malformated mq status line: ['babar has no colon in this line']
947 $ cd ..
947 $ cd ..
948
948
949
949
950 test file addition in slow path
950 test file addition in slow path
951
951
952 $ hg init slow
952 $ hg init slow
953 $ cd slow
953 $ cd slow
954 $ hg qinit
954 $ hg qinit
955 $ echo foo > foo
955 $ echo foo > foo
956 $ hg add foo
956 $ hg add foo
957 $ hg ci -m 'add foo'
957 $ hg ci -m 'add foo'
958 $ hg qnew bar
958 $ hg qnew bar
959 $ echo bar > bar
959 $ echo bar > bar
960 $ hg add bar
960 $ hg add bar
961 $ hg mv foo baz
961 $ hg mv foo baz
962 $ hg qrefresh --git
962 $ hg qrefresh --git
963 $ hg up -C 0
963 $ hg up -C 0
964 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
964 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
965 $ echo >> foo
965 $ echo >> foo
966 $ hg ci -m 'change foo'
966 $ hg ci -m 'change foo'
967 created new head
967 created new head
968 $ hg up -C 1
968 $ hg up -C 1
969 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
969 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
970 $ hg qrefresh --git
970 $ hg qrefresh --git
971 $ cat .hg/patches/bar
971 $ cat .hg/patches/bar
972 diff --git a/bar b/bar
972 diff --git a/bar b/bar
973 new file mode 100644
973 new file mode 100644
974 --- /dev/null
974 --- /dev/null
975 +++ b/bar
975 +++ b/bar
976 @@ -0,0 +1,1 @@
976 @@ -0,0 +1,1 @@
977 +bar
977 +bar
978 diff --git a/foo b/baz
978 diff --git a/foo b/baz
979 rename from foo
979 rename from foo
980 rename to baz
980 rename to baz
981 $ hg log -v --template '{rev} {file_copies}\n' -r .
981 $ hg log -v --template '{rev} {file_copies}\n' -r .
982 2 baz (foo)
982 2 baz (foo)
983 $ hg qrefresh --git
983 $ hg qrefresh --git
984 $ cat .hg/patches/bar
984 $ cat .hg/patches/bar
985 diff --git a/bar b/bar
985 diff --git a/bar b/bar
986 new file mode 100644
986 new file mode 100644
987 --- /dev/null
987 --- /dev/null
988 +++ b/bar
988 +++ b/bar
989 @@ -0,0 +1,1 @@
989 @@ -0,0 +1,1 @@
990 +bar
990 +bar
991 diff --git a/foo b/baz
991 diff --git a/foo b/baz
992 rename from foo
992 rename from foo
993 rename to baz
993 rename to baz
994 $ hg log -v --template '{rev} {file_copies}\n' -r .
994 $ hg log -v --template '{rev} {file_copies}\n' -r .
995 2 baz (foo)
995 2 baz (foo)
996 $ hg qrefresh
996 $ hg qrefresh
997 $ grep 'diff --git' .hg/patches/bar
997 $ grep 'diff --git' .hg/patches/bar
998 diff --git a/bar b/bar
998 diff --git a/bar b/bar
999 diff --git a/foo b/baz
999 diff --git a/foo b/baz
1000
1000
1001
1001
1002 test file move chains in the slow path
1002 test file move chains in the slow path
1003
1003
1004 $ hg up -C 1
1004 $ hg up -C 1
1005 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
1005 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
1006 $ echo >> foo
1006 $ echo >> foo
1007 $ hg ci -m 'change foo again'
1007 $ hg ci -m 'change foo again'
1008 $ hg up -C 2
1008 $ hg up -C 2
1009 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
1009 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
1010 $ hg mv bar quux
1010 $ hg mv bar quux
1011 $ hg mv baz bleh
1011 $ hg mv baz bleh
1012 $ hg qrefresh --git
1012 $ hg qrefresh --git
1013 $ cat .hg/patches/bar
1013 $ cat .hg/patches/bar
1014 diff --git a/foo b/bleh
1014 diff --git a/foo b/bleh
1015 rename from foo
1015 rename from foo
1016 rename to bleh
1016 rename to bleh
1017 diff --git a/quux b/quux
1017 diff --git a/quux b/quux
1018 new file mode 100644
1018 new file mode 100644
1019 --- /dev/null
1019 --- /dev/null
1020 +++ b/quux
1020 +++ b/quux
1021 @@ -0,0 +1,1 @@
1021 @@ -0,0 +1,1 @@
1022 +bar
1022 +bar
1023 $ hg log -v --template '{rev} {file_copies}\n' -r .
1023 $ hg log -v --template '{rev} {file_copies}\n' -r .
1024 3 bleh (foo)
1024 3 bleh (foo)
1025 $ hg mv quux fred
1025 $ hg mv quux fred
1026 $ hg mv bleh barney
1026 $ hg mv bleh barney
1027 $ hg qrefresh --git
1027 $ hg qrefresh --git
1028 $ cat .hg/patches/bar
1028 $ cat .hg/patches/bar
1029 diff --git a/foo b/barney
1029 diff --git a/foo b/barney
1030 rename from foo
1030 rename from foo
1031 rename to barney
1031 rename to barney
1032 diff --git a/fred b/fred
1032 diff --git a/fred b/fred
1033 new file mode 100644
1033 new file mode 100644
1034 --- /dev/null
1034 --- /dev/null
1035 +++ b/fred
1035 +++ b/fred
1036 @@ -0,0 +1,1 @@
1036 @@ -0,0 +1,1 @@
1037 +bar
1037 +bar
1038 $ hg log -v --template '{rev} {file_copies}\n' -r .
1038 $ hg log -v --template '{rev} {file_copies}\n' -r .
1039 3 barney (foo)
1039 3 barney (foo)
1040
1040
1041
1041
1042 refresh omitting an added file
1042 refresh omitting an added file
1043
1043
1044 $ hg qnew baz
1044 $ hg qnew baz
1045 $ echo newfile > newfile
1045 $ echo newfile > newfile
1046 $ hg add newfile
1046 $ hg add newfile
1047 $ hg qrefresh
1047 $ hg qrefresh
1048 $ hg st -A newfile
1048 $ hg st -A newfile
1049 C newfile
1049 C newfile
1050 $ hg qrefresh -X newfile
1050 $ hg qrefresh -X newfile
1051 $ hg st -A newfile
1051 $ hg st -A newfile
1052 A newfile
1052 A newfile
1053 $ hg revert newfile
1053 $ hg revert newfile
1054 $ rm newfile
1054 $ rm newfile
1055 $ hg qpop
1055 $ hg qpop
1056 popping baz
1056 popping baz
1057 now at: bar
1057 now at: bar
1058 $ hg qdel baz
1058 $ hg qdel baz
1059
1059
1060
1060
1061 create a git patch
1061 create a git patch
1062
1062
1063 $ echo a > alexander
1063 $ echo a > alexander
1064 $ hg add alexander
1064 $ hg add alexander
1065 $ hg qnew -f --git addalexander
1065 $ hg qnew -f --git addalexander
1066 $ grep diff .hg/patches/addalexander
1066 $ grep diff .hg/patches/addalexander
1067 diff --git a/alexander b/alexander
1067 diff --git a/alexander b/alexander
1068
1068
1069
1069
1070 create a git binary patch
1070 create a git binary patch
1071
1071
1072 $ cat > writebin.py <<EOF
1072 $ cat > writebin.py <<EOF
1073 > import sys
1073 > import sys
1074 > path = sys.argv[1]
1074 > path = sys.argv[1]
1075 > open(path, 'wb').write('BIN\x00ARY')
1075 > open(path, 'wb').write('BIN\x00ARY')
1076 > EOF
1076 > EOF
1077 $ python writebin.py bucephalus
1077 $ python writebin.py bucephalus
1078
1078
1079 $ python "$TESTDIR/md5sum.py" bucephalus
1079 $ python "$TESTDIR/md5sum.py" bucephalus
1080 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus
1080 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus
1081 $ hg add bucephalus
1081 $ hg add bucephalus
1082 $ hg qnew -f --git addbucephalus
1082 $ hg qnew -f --git addbucephalus
1083 $ grep diff .hg/patches/addbucephalus
1083 $ grep diff .hg/patches/addbucephalus
1084 diff --git a/bucephalus b/bucephalus
1084 diff --git a/bucephalus b/bucephalus
1085
1085
1086
1086
1087 check binary patches can be popped and pushed
1087 check binary patches can be popped and pushed
1088
1088
1089 $ hg qpop
1089 $ hg qpop
1090 popping addbucephalus
1090 popping addbucephalus
1091 now at: addalexander
1091 now at: addalexander
1092 $ test -f bucephalus && echo % bucephalus should not be there
1092 $ test -f bucephalus && echo % bucephalus should not be there
1093 [1]
1093 [1]
1094 $ hg qpush
1094 $ hg qpush
1095 applying addbucephalus
1095 applying addbucephalus
1096 now at: addbucephalus
1096 now at: addbucephalus
1097 $ test -f bucephalus
1097 $ test -f bucephalus
1098 $ python "$TESTDIR/md5sum.py" bucephalus
1098 $ python "$TESTDIR/md5sum.py" bucephalus
1099 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus
1099 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus
1100
1100
1101
1101
1102
1102
1103 strip again
1103 strip again
1104
1104
1105 $ cd ..
1105 $ cd ..
1106 $ hg init strip
1106 $ hg init strip
1107 $ cd strip
1107 $ cd strip
1108 $ touch foo
1108 $ touch foo
1109 $ hg add foo
1109 $ hg add foo
1110 $ hg ci -m 'add foo'
1110 $ hg ci -m 'add foo'
1111 $ echo >> foo
1111 $ echo >> foo
1112 $ hg ci -m 'change foo 1'
1112 $ hg ci -m 'change foo 1'
1113 $ hg up -C 0
1113 $ hg up -C 0
1114 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1114 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1115 $ echo 1 >> foo
1115 $ echo 1 >> foo
1116 $ hg ci -m 'change foo 2'
1116 $ hg ci -m 'change foo 2'
1117 created new head
1117 created new head
1118 $ HGMERGE=true hg merge
1118 $ HGMERGE=true hg merge
1119 merging foo
1119 merging foo
1120 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
1120 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
1121 (branch merge, don't forget to commit)
1121 (branch merge, don't forget to commit)
1122 $ hg ci -m merge
1122 $ hg ci -m merge
1123 $ hg log
1123 $ hg log
1124 changeset: 3:99615015637b
1124 changeset: 3:99615015637b
1125 tag: tip
1125 tag: tip
1126 parent: 2:20cbbe65cff7
1126 parent: 2:20cbbe65cff7
1127 parent: 1:d2871fc282d4
1127 parent: 1:d2871fc282d4
1128 user: test
1128 user: test
1129 date: Thu Jan 01 00:00:00 1970 +0000
1129 date: Thu Jan 01 00:00:00 1970 +0000
1130 summary: merge
1130 summary: merge
1131
1131
1132 changeset: 2:20cbbe65cff7
1132 changeset: 2:20cbbe65cff7
1133 parent: 0:53245c60e682
1133 parent: 0:53245c60e682
1134 user: test
1134 user: test
1135 date: Thu Jan 01 00:00:00 1970 +0000
1135 date: Thu Jan 01 00:00:00 1970 +0000
1136 summary: change foo 2
1136 summary: change foo 2
1137
1137
1138 changeset: 1:d2871fc282d4
1138 changeset: 1:d2871fc282d4
1139 user: test
1139 user: test
1140 date: Thu Jan 01 00:00:00 1970 +0000
1140 date: Thu Jan 01 00:00:00 1970 +0000
1141 summary: change foo 1
1141 summary: change foo 1
1142
1142
1143 changeset: 0:53245c60e682
1143 changeset: 0:53245c60e682
1144 user: test
1144 user: test
1145 date: Thu Jan 01 00:00:00 1970 +0000
1145 date: Thu Jan 01 00:00:00 1970 +0000
1146 summary: add foo
1146 summary: add foo
1147
1147
1148 $ hg strip 1
1148 $ hg strip 1
1149 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1149 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1150 saved backup bundle to $TESTTMP/b/strip/.hg/strip-backup/*-backup.hg (glob)
1150 saved backup bundle to $TESTTMP/b/strip/.hg/strip-backup/*-backup.hg (glob)
1151 $ checkundo strip
1151 $ checkundo strip
1152 $ hg log
1152 $ hg log
1153 changeset: 1:20cbbe65cff7
1153 changeset: 1:20cbbe65cff7
1154 tag: tip
1154 tag: tip
1155 user: test
1155 user: test
1156 date: Thu Jan 01 00:00:00 1970 +0000
1156 date: Thu Jan 01 00:00:00 1970 +0000
1157 summary: change foo 2
1157 summary: change foo 2
1158
1158
1159 changeset: 0:53245c60e682
1159 changeset: 0:53245c60e682
1160 user: test
1160 user: test
1161 date: Thu Jan 01 00:00:00 1970 +0000
1161 date: Thu Jan 01 00:00:00 1970 +0000
1162 summary: add foo
1162 summary: add foo
1163
1163
1164 $ cd ..
1164 $ cd ..
1165
1165
1166
1166
1167 qclone
1167 qclone
1168
1168
1169 $ qlog()
1169 $ qlog()
1170 > {
1170 > {
1171 > echo 'main repo:'
1171 > echo 'main repo:'
1172 > hg log --template ' rev {rev}: {desc}\n'
1172 > hg log --template ' rev {rev}: {desc}\n'
1173 > echo 'patch repo:'
1173 > echo 'patch repo:'
1174 > hg -R .hg/patches log --template ' rev {rev}: {desc}\n'
1174 > hg -R .hg/patches log --template ' rev {rev}: {desc}\n'
1175 > }
1175 > }
1176 $ hg init qclonesource
1176 $ hg init qclonesource
1177 $ cd qclonesource
1177 $ cd qclonesource
1178 $ echo foo > foo
1178 $ echo foo > foo
1179 $ hg add foo
1179 $ hg add foo
1180 $ hg ci -m 'add foo'
1180 $ hg ci -m 'add foo'
1181 $ hg qinit
1181 $ hg qinit
1182 $ hg qnew patch1
1182 $ hg qnew patch1
1183 $ echo bar >> foo
1183 $ echo bar >> foo
1184 $ hg qrefresh -m 'change foo'
1184 $ hg qrefresh -m 'change foo'
1185 $ cd ..
1185 $ cd ..
1186
1186
1187
1187
1188 repo with unversioned patch dir
1188 repo with unversioned patch dir
1189
1189
1190 $ hg qclone qclonesource failure
1190 $ hg qclone qclonesource failure
1191 abort: versioned patch repository not found (see init --mq)
1191 abort: versioned patch repository not found (see init --mq)
1192 [255]
1192 [255]
1193
1193
1194 $ cd qclonesource
1194 $ cd qclonesource
1195 $ hg qinit -c
1195 $ hg qinit -c
1196 adding .hg/patches/patch1 (glob)
1196 adding .hg/patches/patch1 (glob)
1197 $ hg qci -m checkpoint
1197 $ hg qci -m checkpoint
1198 $ qlog
1198 $ qlog
1199 main repo:
1199 main repo:
1200 rev 1: change foo
1200 rev 1: change foo
1201 rev 0: add foo
1201 rev 0: add foo
1202 patch repo:
1202 patch repo:
1203 rev 0: checkpoint
1203 rev 0: checkpoint
1204 $ cd ..
1204 $ cd ..
1205
1205
1206
1206
1207 repo with patches applied
1207 repo with patches applied
1208
1208
1209 $ hg qclone qclonesource qclonedest
1209 $ hg qclone qclonesource qclonedest
1210 updating to branch default
1210 updating to branch default
1211 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
1211 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
1212 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1212 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1213 $ cd qclonedest
1213 $ cd qclonedest
1214 $ qlog
1214 $ qlog
1215 main repo:
1215 main repo:
1216 rev 0: add foo
1216 rev 0: add foo
1217 patch repo:
1217 patch repo:
1218 rev 0: checkpoint
1218 rev 0: checkpoint
1219 $ cd ..
1219 $ cd ..
1220
1220
1221
1221
1222 repo with patches unapplied
1222 repo with patches unapplied
1223
1223
1224 $ cd qclonesource
1224 $ cd qclonesource
1225 $ hg qpop -a
1225 $ hg qpop -a
1226 popping patch1
1226 popping patch1
1227 patch queue now empty
1227 patch queue now empty
1228 $ qlog
1228 $ qlog
1229 main repo:
1229 main repo:
1230 rev 0: add foo
1230 rev 0: add foo
1231 patch repo:
1231 patch repo:
1232 rev 0: checkpoint
1232 rev 0: checkpoint
1233 $ cd ..
1233 $ cd ..
1234 $ hg qclone qclonesource qclonedest2
1234 $ hg qclone qclonesource qclonedest2
1235 updating to branch default
1235 updating to branch default
1236 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
1236 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
1237 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1237 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1238 $ cd qclonedest2
1238 $ cd qclonedest2
1239 $ qlog
1239 $ qlog
1240 main repo:
1240 main repo:
1241 rev 0: add foo
1241 rev 0: add foo
1242 patch repo:
1242 patch repo:
1243 rev 0: checkpoint
1243 rev 0: checkpoint
1244 $ cd ..
1244 $ cd ..
1245
1245
1246
1246
1247 Issue1033: test applying on an empty file
1247 Issue1033: test applying on an empty file
1248
1248
1249 $ hg init empty
1249 $ hg init empty
1250 $ cd empty
1250 $ cd empty
1251 $ touch a
1251 $ touch a
1252 $ hg ci -Am addempty
1252 $ hg ci -Am addempty
1253 adding a
1253 adding a
1254 $ echo a > a
1254 $ echo a > a
1255 $ hg qnew -f -e changea
1255 $ hg qnew -f -e changea
1256 $ hg qpop
1256 $ hg qpop
1257 popping changea
1257 popping changea
1258 patch queue now empty
1258 patch queue now empty
1259 $ hg qpush
1259 $ hg qpush
1260 applying changea
1260 applying changea
1261 now at: changea
1261 now at: changea
1262 $ cd ..
1262 $ cd ..
1263
1263
1264 test qpush with --force, issue1087
1264 test qpush with --force, issue1087
1265
1265
1266 $ hg init forcepush
1266 $ hg init forcepush
1267 $ cd forcepush
1267 $ cd forcepush
1268 $ echo hello > hello.txt
1268 $ echo hello > hello.txt
1269 $ echo bye > bye.txt
1269 $ echo bye > bye.txt
1270 $ hg ci -Ama
1270 $ hg ci -Ama
1271 adding bye.txt
1271 adding bye.txt
1272 adding hello.txt
1272 adding hello.txt
1273 $ hg qnew -d '0 0' empty
1273 $ hg qnew -d '0 0' empty
1274 $ hg qpop
1274 $ hg qpop
1275 popping empty
1275 popping empty
1276 patch queue now empty
1276 patch queue now empty
1277 $ echo world >> hello.txt
1277 $ echo world >> hello.txt
1278
1278
1279
1279
1280 qpush should fail, local changes
1280 qpush should fail, local changes
1281
1281
1282 $ hg qpush
1282 $ hg qpush
1283 abort: local changes found
1283 abort: local changes found
1284 [255]
1284 [255]
1285
1285
1286
1286
1287 apply force, should not discard changes with empty patch
1287 apply force, should not discard changes with empty patch
1288
1288
1289 $ hg qpush -f
1289 $ hg qpush -f
1290 applying empty
1290 applying empty
1291 patch empty is empty
1291 patch empty is empty
1292 now at: empty
1292 now at: empty
1293 $ hg diff --config diff.nodates=True
1293 $ hg diff --config diff.nodates=True
1294 diff -r d58265112590 hello.txt
1294 diff -r d58265112590 hello.txt
1295 --- a/hello.txt
1295 --- a/hello.txt
1296 +++ b/hello.txt
1296 +++ b/hello.txt
1297 @@ -1,1 +1,2 @@
1297 @@ -1,1 +1,2 @@
1298 hello
1298 hello
1299 +world
1299 +world
1300 $ hg qdiff --config diff.nodates=True
1300 $ hg qdiff --config diff.nodates=True
1301 diff -r 9ecee4f634e3 hello.txt
1301 diff -r 9ecee4f634e3 hello.txt
1302 --- a/hello.txt
1302 --- a/hello.txt
1303 +++ b/hello.txt
1303 +++ b/hello.txt
1304 @@ -1,1 +1,2 @@
1304 @@ -1,1 +1,2 @@
1305 hello
1305 hello
1306 +world
1306 +world
1307 $ hg log -l1 -p
1307 $ hg log -l1 -p
1308 changeset: 1:d58265112590
1308 changeset: 1:d58265112590
1309 tag: empty
1309 tag: empty
1310 tag: qbase
1310 tag: qbase
1311 tag: qtip
1311 tag: qtip
1312 tag: tip
1312 tag: tip
1313 user: test
1313 user: test
1314 date: Thu Jan 01 00:00:00 1970 +0000
1314 date: Thu Jan 01 00:00:00 1970 +0000
1315 summary: imported patch empty
1315 summary: imported patch empty
1316
1316
1317
1317
1318 $ hg qref -d '0 0'
1318 $ hg qref -d '0 0'
1319 $ hg qpop
1319 $ hg qpop
1320 popping empty
1320 popping empty
1321 patch queue now empty
1321 patch queue now empty
1322 $ echo universe >> hello.txt
1322 $ echo universe >> hello.txt
1323 $ echo universe >> bye.txt
1323 $ echo universe >> bye.txt
1324
1324
1325
1325
1326 qpush should fail, local changes
1326 qpush should fail, local changes
1327
1327
1328 $ hg qpush
1328 $ hg qpush
1329 abort: local changes found
1329 abort: local changes found
1330 [255]
1330 [255]
1331
1331
1332
1332
1333 apply force, should discard changes in hello, but not bye
1333 apply force, should discard changes in hello, but not bye
1334
1334
1335 $ hg qpush -f
1335 $ hg qpush -f
1336 applying empty
1336 applying empty
1337 now at: empty
1337 now at: empty
1338 $ hg st
1338 $ hg st
1339 M bye.txt
1339 M bye.txt
1340 $ hg diff --config diff.nodates=True
1340 $ hg diff --config diff.nodates=True
1341 diff -r ba252371dbc1 bye.txt
1341 diff -r ba252371dbc1 bye.txt
1342 --- a/bye.txt
1342 --- a/bye.txt
1343 +++ b/bye.txt
1343 +++ b/bye.txt
1344 @@ -1,1 +1,2 @@
1344 @@ -1,1 +1,2 @@
1345 bye
1345 bye
1346 +universe
1346 +universe
1347 $ hg qdiff --config diff.nodates=True
1347 $ hg qdiff --config diff.nodates=True
1348 diff -r 9ecee4f634e3 bye.txt
1348 diff -r 9ecee4f634e3 bye.txt
1349 --- a/bye.txt
1349 --- a/bye.txt
1350 +++ b/bye.txt
1350 +++ b/bye.txt
1351 @@ -1,1 +1,2 @@
1351 @@ -1,1 +1,2 @@
1352 bye
1352 bye
1353 +universe
1353 +universe
1354 diff -r 9ecee4f634e3 hello.txt
1354 diff -r 9ecee4f634e3 hello.txt
1355 --- a/hello.txt
1355 --- a/hello.txt
1356 +++ b/hello.txt
1356 +++ b/hello.txt
1357 @@ -1,1 +1,3 @@
1357 @@ -1,1 +1,3 @@
1358 hello
1358 hello
1359 +world
1359 +world
1360 +universe
1360 +universe
1361
1361
1362
1362
1363 test popping revisions not in working dir ancestry
1363 test popping revisions not in working dir ancestry
1364
1364
1365 $ hg qseries -v
1365 $ hg qseries -v
1366 0 A empty
1366 0 A empty
1367 $ hg up qparent
1367 $ hg up qparent
1368 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1368 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1369 $ hg qpop
1369 $ hg qpop
1370 popping empty
1370 popping empty
1371 patch queue now empty
1371 patch queue now empty
1372
1372
1373 $ cd ..
1373 $ cd ..
1374 $ hg init deletion-order
1374 $ hg init deletion-order
1375 $ cd deletion-order
1375 $ cd deletion-order
1376
1376
1377 $ touch a
1377 $ touch a
1378 $ hg ci -Aqm0
1378 $ hg ci -Aqm0
1379
1379
1380 $ hg qnew rename-dir
1380 $ hg qnew rename-dir
1381 $ hg rm a
1381 $ hg rm a
1382 $ hg qrefresh
1382 $ hg qrefresh
1383
1383
1384 $ mkdir a b
1384 $ mkdir a b
1385 $ touch a/a b/b
1385 $ touch a/a b/b
1386 $ hg add -q a b
1386 $ hg add -q a b
1387 $ hg qrefresh
1387 $ hg qrefresh
1388
1388
1389
1389
1390 test popping must remove files added in subdirectories first
1390 test popping must remove files added in subdirectories first
1391
1391
1392 $ hg qpop
1392 $ hg qpop
1393 popping rename-dir
1393 popping rename-dir
1394 patch queue now empty
1394 patch queue now empty
1395 $ cd ..
1395 $ cd ..
1396
1396
1397
1398 test case preservation through patch pushing especially on case
1399 insensitive filesystem
1400
1401 $ hg init casepreserve
1402 $ cd casepreserve
1403
1404 $ hg qnew add-file1
1405 $ echo a > TeXtFiLe.TxT
1406 $ hg add TeXtFiLe.TxT
1407 $ hg qrefresh
1408
1409 $ hg qnew add-file2
1410 $ echo b > AnOtHeRFiLe.TxT
1411 $ hg add AnOtHeRFiLe.TxT
1412 $ hg qrefresh
1413
1414 $ hg qnew modify-file
1415 $ echo c >> AnOtHeRFiLe.TxT
1416 $ hg qrefresh
1417
1418 $ hg qapplied
1419 add-file1
1420 add-file2
1421 modify-file
1422 $ hg qpop -a
1423 popping modify-file
1424 popping add-file2
1425 popping add-file1
1426 patch queue now empty
1427
1428 this qpush causes problems below, if case preservation on case
1429 insensitive filesystem is not enough:
1430 (1) unexpected "adding ..." messages are shown
1431 (2) patching fails in modification of (1) files
1432
1433 $ hg qpush -a
1434 applying add-file1
1435 applying add-file2
1436 applying modify-file
1437 now at: modify-file
1438
1439 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now