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