Mercurial > hg
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 |