Mercurial > hg
comparison tests/test-subrepo-svn.t @ 15607:fab28a577a38 stable
test-svn-subrepo: fix reference output for svn 1.7
I modified check-code.py "$?" detection because I thought my use was legit, we
cannot test exit status of pipelines commands except for the last one without
this. So it now tolerates "[$?" which is unlikely to be added by mistake.
Tested on:
- OSX + svn 1.7.1
- Linux + svn 1.6.12
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Fri, 02 Dec 2011 16:50:48 +0100 |
parents | 695ac6aca77f |
children | b254f827b7a6 c9c8c9053119 |
comparison
equal
deleted
inserted
replaced
15604:b8d8599410da | 15607:fab28a577a38 |
---|---|
35 Adding externals/other | 35 Adding externals/other |
36 Adding src | 36 Adding src |
37 Adding src/alpha | 37 Adding src/alpha |
38 Transmitting file data .. | 38 Transmitting file data .. |
39 Committed revision 1. | 39 Committed revision 1. |
40 $ svn up | 40 $ svn up -q |
41 At revision 1. | |
42 $ echo "externals -r1 $SVNREPO/externals" > extdef | 41 $ echo "externals -r1 $SVNREPO/externals" > extdef |
43 $ svn propset -F extdef svn:externals src | 42 $ svn propset -F extdef svn:externals src |
44 property 'svn:externals' set on 'src' | 43 property 'svn:externals' set on 'src' |
45 $ svn ci -m 'Setting externals' | 44 $ svn ci -m 'Setting externals' |
46 Sending src | 45 Sending src |
103 parent: 1:* tip (glob) | 102 parent: 1:* tip (glob) |
104 1 | 103 1 |
105 branch: default | 104 branch: default |
106 commit: 1 modified, 1 subrepos | 105 commit: 1 modified, 1 subrepos |
107 update: (current) | 106 update: (current) |
108 $ hg commit --subrepos -m 'Message!' | 107 $ hg commit --subrepos -m 'Message!' | grep -v Updating |
109 committing subrepository s | 108 committing subrepository s |
110 Sending*s/alpha (glob) | 109 Sending*s/alpha (glob) |
111 Transmitting file data . | 110 Transmitting file data . |
112 Committed revision 3. | 111 Committed revision 3. |
113 | 112 |
114 Fetching external item into '$TESTTMP/sub/t/s/externals' | 113 Fetching external item into '*s/externals'* (glob) |
115 External at revision 1. | 114 External at revision 1. |
116 | 115 |
117 At revision 3. | 116 At revision 3. |
118 $ hg debugsub | 117 $ hg debugsub |
119 path s | 118 path s |
127 bringing any changes. | 126 bringing any changes. |
128 | 127 |
129 $ svn mkdir "$SVNREPO/unrelated" -m 'create unrelated' | 128 $ svn mkdir "$SVNREPO/unrelated" -m 'create unrelated' |
130 | 129 |
131 Committed revision 4. | 130 Committed revision 4. |
132 $ svn up s | 131 $ svn up -q s |
133 | |
134 Fetching external item into 's/externals' | |
135 External at revision 1. | |
136 | |
137 At revision 4. | |
138 $ hg sum | 132 $ hg sum |
139 parent: 2:* tip (glob) | 133 parent: 2:* tip (glob) |
140 Message! | 134 Message! |
141 branch: default | 135 branch: default |
142 commit: (clean) | 136 commit: (clean) |
149 $ hg st | 143 $ hg st |
150 | 144 |
151 add a commit from svn | 145 add a commit from svn |
152 | 146 |
153 $ cd "$WCROOT"/src | 147 $ cd "$WCROOT"/src |
154 $ svn up | 148 $ svn up -q |
155 U alpha | |
156 | |
157 Fetching external item into 'externals' | |
158 A externals/other | |
159 Updated external to revision 1. | |
160 | |
161 Updated to revision 4. | |
162 $ echo xyz >> alpha | 149 $ echo xyz >> alpha |
163 $ svn propset svn:mime-type 'text/xml' alpha | 150 $ svn propset svn:mime-type 'text/xml' alpha |
164 property 'svn:mime-type' set on 'alpha' | 151 property 'svn:mime-type' set on 'alpha' |
165 $ svn ci -m 'amend a from svn' | 152 $ svn ci -m 'amend a from svn' |
166 Sending src/alpha | 153 Sending *alpha (glob) |
167 Transmitting file data . | 154 Transmitting file data . |
168 Committed revision 5. | 155 Committed revision 5. |
169 $ cd ../../sub/t | 156 $ cd ../../sub/t |
170 | 157 |
171 this commit from hg will fail | 158 this commit from hg will fail |
172 | 159 |
173 $ echo zzz >> s/alpha | 160 $ echo zzz >> s/alpha |
174 $ hg ci --subrepos -m 'amend alpha from hg' | 161 $ (hg ci --subrepos -m 'amend alpha from hg' 2>&1; echo "[$?]") | grep -vi 'out of date' |
175 committing subrepository s | 162 committing subrepository s |
176 abort: svn: Commit failed (details follow): | 163 abort: svn:*Commit failed (details follow): (glob) |
177 svn: (Out of date)?.*/src/alpha.*(is out of date)? (re) | |
178 [255] | 164 [255] |
179 $ svn revert -q s/alpha | 165 $ svn revert -q s/alpha |
180 | 166 |
181 this commit fails because of meta changes | 167 this commit fails because of meta changes |
182 | 168 |
183 $ svn propset svn:mime-type 'text/html' s/alpha | 169 $ svn propset svn:mime-type 'text/html' s/alpha |
184 property 'svn:mime-type' set on 's/alpha' | 170 property 'svn:mime-type' set on 's/alpha' |
185 $ hg ci --subrepos -m 'amend alpha from hg' | 171 $ (hg ci --subrepos -m 'amend alpha from hg' 2>&1; echo "[$?]") | grep -vi 'out of date' |
186 committing subrepository s | 172 committing subrepository s |
187 abort: svn: Commit failed (details follow): | 173 abort: svn:*Commit failed (details follow): (glob) |
188 svn: (Out of date)?.*/src/alpha.*(is out of date)? (re) | |
189 [255] | 174 [255] |
190 $ svn revert -q s/alpha | 175 $ svn revert -q s/alpha |
191 | 176 |
192 this commit fails because of externals changes | 177 this commit fails because of externals changes |
193 | 178 |
226 $ hg clone t tc | fix_path | 211 $ hg clone t tc | fix_path |
227 updating to branch default | 212 updating to branch default |
228 A tc/s/alpha | 213 A tc/s/alpha |
229 U tc/s | 214 U tc/s |
230 | 215 |
231 Fetching external item into 'tc/s/externals' | 216 Fetching external item into 'tc/s/externals'* (glob) |
232 A tc/s/externals/other | 217 A tc/s/externals/other |
233 Checked out external at revision 1. | 218 Checked out external at revision 1. |
234 | 219 |
235 Checked out revision 3. | 220 Checked out revision 3. |
236 A tc/subdir/s/alpha | 221 A tc/subdir/s/alpha |
237 U tc/subdir/s | 222 U tc/subdir/s |
238 | 223 |
239 Fetching external item into 'tc/subdir/s/externals' | 224 Fetching external item into 'tc/subdir/s/externals'* (glob) |
240 A tc/subdir/s/externals/other | 225 A tc/subdir/s/externals/other |
241 Checked out external at revision 1. | 226 Checked out external at revision 1. |
242 | 227 |
243 Checked out revision 2. | 228 Checked out revision 2. |
244 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | 229 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
270 $ cd s | 255 $ cd s |
271 $ echo c0 > alpha | 256 $ echo c0 > alpha |
272 $ echo c1 > f1 | 257 $ echo c1 > f1 |
273 $ echo c1 > f2 | 258 $ echo c1 > f2 |
274 $ svn add f1 -q | 259 $ svn add f1 -q |
275 $ svn status | 260 $ svn status | sort |
261 | |
276 ? * a (glob) | 262 ? * a (glob) |
263 ? * f2 (glob) | |
264 A * f1 (glob) | |
265 M * alpha (glob) | |
266 Performing status on external item at 'externals'* (glob) | |
277 X * externals (glob) | 267 X * externals (glob) |
278 ? * f2 (glob) | |
279 M * alpha (glob) | |
280 A * f1 (glob) | |
281 | |
282 Performing status on external item at 'externals' | |
283 $ cd ../.. | 268 $ cd ../.. |
284 $ hg -R t update -C | 269 $ hg -R t update -C |
285 | 270 |
286 Fetching external item into 't/s/externals' | 271 Fetching external item into 't/s/externals'* (glob) |
287 Checked out external at revision 1. | 272 Checked out external at revision 1. |
288 | 273 |
289 Checked out revision 3. | 274 Checked out revision 3. |
290 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 275 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
291 $ cd t/s | 276 $ cd t/s |
293 ? * a (glob) | 278 ? * a (glob) |
294 X * externals (glob) | 279 X * externals (glob) |
295 ? * f1 (glob) | 280 ? * f1 (glob) |
296 ? * f2 (glob) | 281 ? * f2 (glob) |
297 | 282 |
298 Performing status on external item at 'externals' | 283 Performing status on external item at 'externals'* (glob) |
299 | 284 |
300 Sticky subrepositories, no changes | 285 Sticky subrepositories, no changes |
301 $ cd $TESTTMP/sub/t | 286 $ cd $TESTTMP/sub/t |
302 $ hg id -n | 287 $ hg id -n |
303 2 | 288 2 |
304 $ cd s | 289 $ cd s |
305 $ svnversion | 290 $ svnversion |
306 3 | 291 3 |
307 $ cd .. | 292 $ cd .. |
308 $ hg update 1 | 293 $ hg update 1 |
309 U $TESTTMP/sub/t/s/alpha | 294 U *s/alpha (glob) |
310 | 295 |
311 Fetching external item into '$TESTTMP/sub/t/s/externals' | 296 Fetching external item into '*s/externals'* (glob) |
312 Checked out external at revision 1. | 297 Checked out external at revision 1. |
313 | 298 |
314 Checked out revision 2. | 299 Checked out revision 2. |
315 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | 300 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
316 $ hg id -n | 301 $ hg id -n |
342 $ cd s | 327 $ cd s |
343 $ svnversion | 328 $ svnversion |
344 2M | 329 2M |
345 $ cd .. | 330 $ cd .. |
346 $ hg update --clean tip | 331 $ hg update --clean tip |
347 U $TESTTMP/sub/t/s/alpha | 332 U *s/alpha (glob) |
348 | 333 |
349 Fetching external item into '$TESTTMP/sub/t/s/externals' | 334 Fetching external item into '*s/externals'* (glob) |
350 Checked out external at revision 1. | 335 Checked out external at revision 1. |
351 | 336 |
352 Checked out revision 3. | 337 Checked out revision 3. |
353 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 338 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
354 | 339 |
358 $ cd s | 343 $ cd s |
359 $ svnversion | 344 $ svnversion |
360 3 | 345 3 |
361 $ cd .. | 346 $ cd .. |
362 $ cd s | 347 $ cd s |
363 $ svn update -r 1 | 348 $ svn update -qr 1 |
364 U alpha | |
365 U . | |
366 | |
367 Fetching external item into 'externals' | |
368 Updated external to revision 1. | |
369 | |
370 Updated to revision 1. | |
371 $ cd .. | 349 $ cd .. |
372 $ hg update 1 | 350 $ hg update 1 |
373 subrepository sources for s differ (in checked out version) | 351 subrepository sources for s differ (in checked out version) |
374 use (l)ocal source (1) or (r)emote source (2)? | 352 use (l)ocal source (1) or (r)emote source (2)? |
375 l | 353 l |
402 $ svnversion | 380 $ svnversion |
403 1M | 381 1M |
404 $ cd .. | 382 $ cd .. |
405 | 383 |
406 Sticky repository, update --clean | 384 Sticky repository, update --clean |
407 $ hg update --clean tip | 385 $ hg update --clean tip | grep -v s/externals/other |
408 U $TESTTMP/sub/t/s/alpha | 386 U *s/alpha (glob) |
409 U $TESTTMP/sub/t/s | 387 U *s (glob) |
410 | 388 |
411 Fetching external item into '$TESTTMP/sub/t/s/externals' | 389 Fetching external item into '*s/externals'* (glob) |
412 Checked out external at revision 1. | 390 Checked out external at revision 1. |
413 | 391 |
414 Checked out revision 3. | 392 Checked out revision 3. |
415 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 393 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
416 $ hg id -n | 394 $ hg id -n |
420 3 | 398 3 |
421 $ cd .. | 399 $ cd .. |
422 | 400 |
423 Test subrepo already at intended revision: | 401 Test subrepo already at intended revision: |
424 $ cd s | 402 $ cd s |
425 $ svn update -r 2 | 403 $ svn update -qr 2 |
426 U alpha | |
427 | |
428 Fetching external item into 'externals' | |
429 Updated external to revision 1. | |
430 | |
431 Updated to revision 2. | |
432 $ cd .. | 404 $ cd .. |
433 $ hg update 1 | 405 $ hg update 1 |
434 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 406 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
435 $ hg id -n | 407 $ hg id -n |
436 1+ | 408 1+ |
447 $ echo epsilon.py > dir/epsilon.py | 419 $ echo epsilon.py > dir/epsilon.py |
448 $ svn add dir | 420 $ svn add dir |
449 A dir | 421 A dir |
450 A dir/epsilon.py | 422 A dir/epsilon.py |
451 $ svn ci -m 'Add dir/epsilon.py' | 423 $ svn ci -m 'Add dir/epsilon.py' |
452 Adding src/dir | 424 Adding *dir (glob) |
453 Adding src/dir/epsilon.py | 425 Adding *dir/epsilon.py (glob) |
454 Transmitting file data . | 426 Transmitting file data . |
455 Committed revision 6. | 427 Committed revision 6. |
456 $ cd ../.. | 428 $ cd ../.. |
457 $ hg init rebaserepo | 429 $ hg init rebaserepo |
458 $ cd rebaserepo | 430 $ cd rebaserepo |
464 $ echo a > a | 436 $ echo a > a |
465 $ hg ci -Am adda | 437 $ hg ci -Am adda |
466 adding a | 438 adding a |
467 $ hg up 0 | 439 $ hg up 0 |
468 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | 440 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
469 $ svn up -r6 s | 441 $ svn up -qr6 s |
470 A s/dir | |
471 A s/dir/epsilon.py | |
472 | |
473 Fetching external item into 's/externals' | |
474 Updated external to revision 1. | |
475 | |
476 Updated to revision 6. | |
477 $ hg ci -m updatesub | 442 $ hg ci -m updatesub |
478 committing subrepository s | 443 committing subrepository s |
479 created new head | 444 created new head |
480 $ echo pyc > s/dir/epsilon.pyc | 445 $ echo pyc > s/dir/epsilon.pyc |
481 $ hg up 1 | 446 $ hg up 1 |
482 D $TESTTMP/rebaserepo/s/dir | 447 D *s/dir (glob) |
483 | 448 |
484 Fetching external item into '$TESTTMP/rebaserepo/s/externals' | 449 Fetching external item into '*s/externals'* (glob) |
485 Checked out external at revision 1. | 450 Checked out external at revision 1. |
486 | 451 |
487 Checked out revision 5. | 452 Checked out revision 5. |
488 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | 453 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
489 $ if "$TESTDIR/hghave" -q svn15; then | 454 $ if "$TESTDIR/hghave" -q svn15; then |
508 created new head | 473 created new head |
509 | 474 |
510 Switching back to the head where we have another path mapped to the | 475 Switching back to the head where we have another path mapped to the |
511 same subrepo should work if the subrepo is clean. | 476 same subrepo should work if the subrepo is clean. |
512 $ hg co other | 477 $ hg co other |
513 A $TESTTMP/rebaserepo/obstruct/other | 478 A *obstruct/other (glob) |
514 Checked out revision 1. | 479 Checked out revision 1. |
515 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | 480 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
516 | 481 |
517 This is surprising, but is also correct based on the current code: | 482 This is surprising, but is also correct based on the current code: |
518 $ echo "updating should (maybe) fail" > obstruct/other | 483 $ echo "updating should (maybe) fail" > obstruct/other |
521 [255] | 486 [255] |
522 | 487 |
523 Point to a Subversion branch which has since been deleted and recreated | 488 Point to a Subversion branch which has since been deleted and recreated |
524 First, create that condition in the repository. | 489 First, create that condition in the repository. |
525 | 490 |
526 $ hg ci --subrepos -m cleanup | 491 $ hg ci --subrepos -m cleanup | grep -v Updating |
527 committing subrepository obstruct | 492 committing subrepository obstruct |
528 Sending obstruct/other | 493 Sending obstruct/other |
529 Transmitting file data . | 494 Transmitting file data . |
530 Committed revision 7. | 495 Committed revision 7. |
531 At revision 7. | 496 At revision 7. |
548 | 513 |
549 Committed revision 11. | 514 Committed revision 11. |
550 $ svn copy -m "recreate branch" $SVNREPO/trunk $SVNREPO/branch | 515 $ svn copy -m "recreate branch" $SVNREPO/trunk $SVNREPO/branch |
551 | 516 |
552 Committed revision 12. | 517 Committed revision 12. |
553 $ svn up | 518 $ svn up -q |
554 D somethingold | |
555 Updated to revision 12. | |
556 $ echo "something new" > somethingnew | 519 $ echo "something new" > somethingnew |
557 $ svn add somethingnew | 520 $ svn add somethingnew |
558 A somethingnew | 521 A somethingnew |
559 $ svn ci -m 'Something new' | 522 $ svn ci -m 'Something new' |
560 Adding somethingnew | 523 Adding somethingnew |
567 Checked out revision 10. | 530 Checked out revision 10. |
568 $ echo "recreated = [svn] $SVNREPO/branch" >> .hgsub | 531 $ echo "recreated = [svn] $SVNREPO/branch" >> .hgsub |
569 $ hg ci -m addsub | 532 $ hg ci -m addsub |
570 committing subrepository recreated | 533 committing subrepository recreated |
571 $ cd recreated | 534 $ cd recreated |
572 $ svn up | 535 $ svn up -q |
573 D somethingold | |
574 A somethingnew | |
575 Updated to revision 13. | |
576 $ cd .. | 536 $ cd .. |
577 $ hg ci -m updatesub | 537 $ hg ci -m updatesub |
578 committing subrepository recreated | 538 committing subrepository recreated |
579 $ hg up -r-2 | 539 $ hg up -r-2 |
580 D $TESTTMP/rebaserepo/recreated/somethingnew | 540 D *recreated/somethingnew (glob) |
581 A $TESTTMP/rebaserepo/recreated/somethingold | 541 A *recreated/somethingold (glob) |
582 Checked out revision 10. | 542 Checked out revision 10. |
583 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 543 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
584 $ test -f recreated/somethingold | 544 $ test -f recreated/somethingold |
585 | 545 |