Mercurial > hg
comparison tests/test-subrepo.t @ 18941:cb5f5859b3fd
test-subrepo: add tests for subrepo "storeclean" checks
These tests verify that subrepos are not pushed when their store is clean versus
a given target repository.
author | Angel Ezquerra <angel.ezquerra@gmail.com> |
---|---|
date | Fri, 08 Mar 2013 21:50:27 +0100 |
parents | 0ade08dcb3c3 |
children | 27e8dfc2c338 |
comparison
equal
deleted
inserted
replaced
18940:798bdb7f1517 | 18941:cb5f5859b3fd |
---|---|
287 $ echo bah > t/t | 287 $ echo bah > t/t |
288 $ hg ci -m11 | 288 $ hg ci -m11 |
289 committing subrepository t | 289 committing subrepository t |
290 $ hg push | 290 $ hg push |
291 pushing to $TESTTMP/t (glob) | 291 pushing to $TESTTMP/t (glob) |
292 pushing subrepo s/ss to $TESTTMP/t/s/ss (glob) | 292 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss |
293 searching for changes | 293 no changes made to subrepo s since last push to $TESTTMP/t/s |
294 no changes found | |
295 pushing subrepo s to $TESTTMP/t/s | |
296 searching for changes | |
297 no changes found | |
298 pushing subrepo t to $TESTTMP/t/t | 294 pushing subrepo t to $TESTTMP/t/t |
299 searching for changes | 295 searching for changes |
300 adding changesets | 296 adding changesets |
301 adding manifests | 297 adding manifests |
302 adding file changes | 298 adding file changes |
312 $ echo bah > s/a | 308 $ echo bah > s/a |
313 $ hg ci -m12 | 309 $ hg ci -m12 |
314 committing subrepository s | 310 committing subrepository s |
315 $ hg push | 311 $ hg push |
316 pushing to $TESTTMP/t (glob) | 312 pushing to $TESTTMP/t (glob) |
317 pushing subrepo s/ss to $TESTTMP/t/s/ss (glob) | 313 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss |
318 searching for changes | |
319 no changes found | |
320 pushing subrepo s to $TESTTMP/t/s | 314 pushing subrepo s to $TESTTMP/t/s |
321 searching for changes | 315 searching for changes |
322 abort: push creates new remote head 12a213df6fa9! (in subrepo s) | 316 abort: push creates new remote head 12a213df6fa9! (in subrepo s) |
323 (did you forget to merge? use push -f to force) | 317 (did you forget to merge? use push -f to force) |
324 [255] | 318 [255] |
340 adding changesets | 334 adding changesets |
341 adding manifests | 335 adding manifests |
342 adding file changes | 336 adding file changes |
343 added 1 changesets with 1 changes to 1 files | 337 added 1 changesets with 1 changes to 1 files |
344 | 338 |
339 check that unmodified subrepos are not pushed | |
340 | |
341 $ hg clone . ../tcc | |
342 updating to branch default | |
343 cloning subrepo s from $TESTTMP/tc/s | |
344 cloning subrepo s/ss from $TESTTMP/tc/s/ss | |
345 cloning subrepo t from $TESTTMP/tc/t | |
346 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
347 | |
348 the subrepos on the new clone have nothing to push to its source | |
349 | |
350 $ hg push -R ../tcc . | |
351 pushing to . | |
352 no changes made to subrepo s/ss since last push to s/ss | |
353 no changes made to subrepo s since last push to s | |
354 no changes made to subrepo t since last push to t | |
355 searching for changes | |
356 no changes found | |
357 [1] | |
358 | |
359 the subrepos on the source do not have a clean store versus the clone target | |
360 because they were never explicitly pushed to the source | |
361 | |
362 $ hg push ../tcc | |
363 pushing to ../tcc | |
364 pushing subrepo s/ss to ../tcc/s/ss | |
365 searching for changes | |
366 no changes found | |
367 pushing subrepo s to ../tcc/s | |
368 searching for changes | |
369 no changes found | |
370 pushing subrepo t to ../tcc/t | |
371 searching for changes | |
372 no changes found | |
373 searching for changes | |
374 no changes found | |
375 [1] | |
376 | |
377 after push their stores become clean | |
378 | |
379 $ hg push ../tcc | |
380 pushing to ../tcc | |
381 no changes made to subrepo s/ss since last push to ../tcc/s/ss | |
382 no changes made to subrepo s since last push to ../tcc/s | |
383 no changes made to subrepo t since last push to ../tcc/t | |
384 searching for changes | |
385 no changes found | |
386 [1] | |
387 | |
388 updating a subrepo to a different revision or changing | |
389 its working directory does not make its store dirty | |
390 | |
391 $ hg -R s update '.^' | |
392 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
393 $ hg push | |
394 pushing to $TESTTMP/t | |
395 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss | |
396 no changes made to subrepo s since last push to $TESTTMP/t/s | |
397 no changes made to subrepo t since last push to $TESTTMP/t/t | |
398 searching for changes | |
399 no changes found | |
400 [1] | |
401 $ echo foo >> s/a | |
402 $ hg push | |
403 pushing to $TESTTMP/t | |
404 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss | |
405 no changes made to subrepo s since last push to $TESTTMP/t/s | |
406 no changes made to subrepo t since last push to $TESTTMP/t/t | |
407 searching for changes | |
408 no changes found | |
409 [1] | |
410 $ hg -R s update -C tip | |
411 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
412 | |
413 committing into a subrepo makes its store (but not its parent's store) dirty | |
414 | |
415 $ echo foo >> s/ss/a | |
416 $ hg -R s/ss commit -m 'test dirty store detection' | |
417 $ hg push | |
418 pushing to $TESTTMP/t | |
419 pushing subrepo s/ss to $TESTTMP/t/s/ss | |
420 searching for changes | |
421 adding changesets | |
422 adding manifests | |
423 adding file changes | |
424 added 1 changesets with 1 changes to 1 files | |
425 no changes made to subrepo s since last push to $TESTTMP/t/s | |
426 no changes made to subrepo t since last push to $TESTTMP/t/t | |
427 searching for changes | |
428 no changes found | |
429 [1] | |
430 | |
431 a subrepo store may be clean versus one repo but not versus another | |
432 | |
433 $ hg push | |
434 pushing to $TESTTMP/t | |
435 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss | |
436 no changes made to subrepo s since last push to $TESTTMP/t/s | |
437 no changes made to subrepo t since last push to $TESTTMP/t/t | |
438 searching for changes | |
439 no changes found | |
440 [1] | |
441 $ hg push ../tcc | |
442 pushing to ../tcc | |
443 pushing subrepo s/ss to ../tcc/s/ss | |
444 searching for changes | |
445 adding changesets | |
446 adding manifests | |
447 adding file changes | |
448 added 1 changesets with 1 changes to 1 files | |
449 no changes made to subrepo s since last push to ../tcc/s | |
450 no changes made to subrepo t since last push to ../tcc/t | |
451 searching for changes | |
452 no changes found | |
453 [1] | |
454 | |
345 update | 455 update |
346 | 456 |
347 $ cd ../t | 457 $ cd ../t |
348 $ hg up -C # discard our earlier merge | 458 $ hg up -C # discard our earlier merge |
349 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 459 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
370 searching for changes | 480 searching for changes |
371 adding changesets | 481 adding changesets |
372 adding manifests | 482 adding manifests |
373 adding file changes | 483 adding file changes |
374 added 1 changesets with 1 changes to 1 files | 484 added 1 changesets with 1 changes to 1 files |
375 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 485 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
376 $ cat t/t | 486 $ cat t/t |
377 blah | 487 blah |
378 | 488 |
379 bogus subrepo path aborts | 489 bogus subrepo path aborts |
380 | 490 |