comparison tests/test-largefiles-misc.t @ 21883:87aa279f7073

largefiles: show also how many data entities are outgoing at "hg outgoing" Before this patch, "hg outgoing --large" shows which largefiles are changed or added in outgoing revisions only in the point of the view of filenames. For example, according to the list of outgoing largefiles shown in "hg outgoing" output, users should expect that the former below costs much more to upload outgoing largefiles than the latter. - outgoing revisions add a hundred largefiles, but all of them refer the same data entity in this case, only one data entity is outgoing, even though "hg summary" says that a hundred largefiles are outgoing. - a hundred outgoing revisions change only one largefile with distinct data in this case, a hundred data entities are outgoing, even though "hg summary" says that only one largefile is outgoing. But the latter costs much more than the former, in fact. This patch shows also how many data entities are outgoing at "hg outgoing" by counting number of unique hash values for outgoing largefiles. When "--debug" is specified, this patch also shows what entities (in hash) are outgoing for each largefiles listed up, for debug purpose. In "ui.debugflag" route, "addfunc()" can append given "lfhash" to the list "toupload[fn]" always without duplication check, because de-duplication is already done in "_getoutgoings()".
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Mon, 07 Jul 2014 18:45:46 +0900
parents 12019e6aa8a2
children a858d3de0d32
comparison
equal deleted inserted replaced
21882:12019e6aa8a2 21883:87aa279f7073
476 tag: tip 476 tag: tip
477 user: test 477 user: test
478 date: Thu Jan 01 00:00:00 1970 +0000 478 date: Thu Jan 01 00:00:00 1970 +0000
479 summary: #1 479 summary: #1
480 480
481 largefiles to upload: 481 largefiles to upload (1 entities):
482 b 482 b
483 483
484 $ hg -R clone2 outgoing --large --graph --template "{rev}" 484 $ hg -R clone2 outgoing --large --graph --template "{rev}"
485 comparing with $TESTTMP/issue3651/src 485 comparing with $TESTTMP/issue3651/src
486 searching for changes 486 searching for changes
487 @ 1 487 @ 1
488 488
489 largefiles to upload: 489 largefiles to upload (1 entities):
490 b 490 b
491 491
492 492
493 $ cp clone2/b clone2/b1 493 $ cp clone2/b clone2/b1
494 $ cp clone2/b clone2/b2 494 $ cp clone2/b clone2/b2
507 $ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n" 507 $ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n"
508 comparing with $TESTTMP/issue3651/src (glob) 508 comparing with $TESTTMP/issue3651/src (glob)
509 searching for changes 509 searching for changes
510 1:1acbe71ce432 510 1:1acbe71ce432
511 2:6095d0695d70 511 2:6095d0695d70
512 largefiles to upload: 512 largefiles to upload (1 entities):
513 b 513 b
514 b1 514 b1
515 b2 515 b2
516
517 $ hg -R clone2 cat -r 1 clone2/.hglf/b
518 89e6c98d92887913cadf06b2adb97f26cde4849b
519 $ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n" --debug
520 comparing with $TESTTMP/issue3651/src (glob)
521 query 1; heads
522 searching for changes
523 all remote heads known locally
524 1:1acbe71ce432
525 2:6095d0695d70
526 largefiles to upload (1 entities):
527 b
528 89e6c98d92887913cadf06b2adb97f26cde4849b
529 b1
530 89e6c98d92887913cadf06b2adb97f26cde4849b
531 b2
532 89e6c98d92887913cadf06b2adb97f26cde4849b
516 533
517 534
518 $ echo bbb > clone2/b 535 $ echo bbb > clone2/b
519 $ hg -R clone2 commit -m '#3: add new largefile entity as existing file' 536 $ hg -R clone2 commit -m '#3: add new largefile entity as existing file'
520 Invoking status precommit hook 537 Invoking status precommit hook
540 1:1acbe71ce432 557 1:1acbe71ce432
541 2:6095d0695d70 558 2:6095d0695d70
542 3:7983dce246cc 559 3:7983dce246cc
543 4:233f12ada4ae 560 4:233f12ada4ae
544 5:036794ea641c 561 5:036794ea641c
545 largefiles to upload: 562 largefiles to upload (3 entities):
546 b 563 b
547 b1 564 b1
548 b2 565 b2
566
567 $ hg -R clone2 cat -r 3 clone2/.hglf/b
568 c801c9cfe94400963fcb683246217d5db77f9a9a
569 $ hg -R clone2 cat -r 4 clone2/.hglf/b
570 13f9ed0898e315bf59dc2973fec52037b6f441a2
571 $ hg -R clone2 outgoing --large -T "{rev}:{node|short}\n" --debug
572 comparing with $TESTTMP/issue3651/src (glob)
573 query 1; heads
574 searching for changes
575 all remote heads known locally
576 1:1acbe71ce432
577 2:6095d0695d70
578 3:7983dce246cc
579 4:233f12ada4ae
580 5:036794ea641c
581 largefiles to upload (3 entities):
582 b
583 13f9ed0898e315bf59dc2973fec52037b6f441a2
584 89e6c98d92887913cadf06b2adb97f26cde4849b
585 c801c9cfe94400963fcb683246217d5db77f9a9a
586 b1
587 89e6c98d92887913cadf06b2adb97f26cde4849b
588 b2
589 89e6c98d92887913cadf06b2adb97f26cde4849b
549 590
550 591
551 $ cd .. 592 $ cd ..
552 593
553 merge action 'd' for 'local renamed directory to d2/g' which has no filename 594 merge action 'd' for 'local renamed directory to d2/g' which has no filename