##// END OF EJS Templates
bundle: include advisory rev branch cache part in bundle2 bundle...
bundle: include advisory rev branch cache part in bundle2 bundle `hg bundle` command producing bundle2 will now include an optional part containing the revision-branch cache data. The data sent are mostly nodes so it is quite compact. The goal of the rev-branch-cache is to speed up branch map computation, especially when the branchmap gets invalidated so we send data for all exchanged changesets. In addition, computing the relevant heads to send in case of partial pulling would be challenging. As a reminder, the rev branch cache data significantly speed up branch computation. Having it around provides a small speedup to pull/clone and much higher tolerance to branch map cache invalidation that might happens from later commands. On the Mercurial repository, computing the visible branchmap from scratch move from 2.00 seconds to 0.34s (a -83% speedup). Using this new part, Unbundling the full Mercurial repository moves from 25.736 seconds to 24.030 seconds (around -7% speedup). The bundle size increase is around 3% (from 22.43 MB to 23.13MB) On an half a million revision repository with twenty thousand branches, computing the branchmap moves from 75 seconds to 45 second (-40%) if the caches is used. A bundle containing 50 000 changesets in such repository get a 0.5% size increase from such part for a -3% unbundling time speedup.

File last commit:

r34027:626a28f3 default
r36983:b89a7ef2 default
Show More
test-debugbundle.t
85 lines | 3.9 KiB | text/troff | Tads3Lexer
/ tests / test-debugbundle.t
Peter Arrenbrecht
commands: add debugbundle command...
r13724
Create a test repository:
$ hg init repo
$ cd repo
$ touch a ; hg add a ; hg ci -ma
$ touch b ; hg add b ; hg ci -mb
$ touch c ; hg add c ; hg ci -mc
Pierre-Yves David
test: enforce v1 in 'test-debugbundle.t'...
r26864 $ hg bundle --base 0 --rev tip bundle.hg -v --type v1
Peter Arrenbrecht
commands: add debugbundle command...
r13724 2 changesets found
Mads Kiilerich
bundle: when verbose, show what takes up the space in the generated bundle...
r23748 uncompressed size of bundle content:
332 (changelog)
282 (manifests)
Mike Hommey
mdiff: don't emit a diff header for empty trivial deltas...
r27711 93 b
93 c
Mike Hommey
debugbundle: add tests for debugbundle output with bundle2
r29062 $ hg bundle --base 0 --rev tip bundle2.hg -v --type none-v2
2 changesets found
uncompressed size of bundle content:
Pierre-Yves David
changegroup: skip delta when the underlying revlog do not use them...
r30211 344 (changelog)
Mike Hommey
debugbundle: add tests for debugbundle output with bundle2
r29062 322 (manifests)
113 b
113 c
Peter Arrenbrecht
commands: add debugbundle command...
r13724
Terse output:
$ hg debugbundle bundle.hg
0e067c57feba1a5694ca4844f05588bb1bf82342
991a3460af53952d10ec8a295d3d2cc2e5fa9690
Mike Hommey
debugbundle: add tests for debugbundle output with bundle2
r29062 Terse output:
$ hg debugbundle bundle2.hg
Stream params: {}
Augie Fackler
debugcommands: stabilize output of debugbundle by having a custom repr...
r34027 changegroup -- {nbchanges: 2, version: 02}
Mike Hommey
debugbundle: add tests for debugbundle output with bundle2
r29062 0e067c57feba1a5694ca4844f05588bb1bf82342
991a3460af53952d10ec8a295d3d2cc2e5fa9690
Boris Feld
bundle: include advisory rev branch cache part in bundle2 bundle...
r36983 cache:rev-branch-cache -- {}
Mike Hommey
debugbundle: add tests for debugbundle output with bundle2
r29062
Boris Feld
debugbundle: do not display detailed part data in --quiet mode...
r36969 Quiet output
$ hg debugbundle --quiet bundle2.hg
Stream params: {}
changegroup -- {nbchanges: 2, version: 02}
Boris Feld
bundle: include advisory rev branch cache part in bundle2 bundle...
r36983 cache:rev-branch-cache -- {}
Boris Feld
debugbundle: do not display detailed part data in --quiet mode...
r36969
Peter Arrenbrecht
commands: add debugbundle command...
r13724 Verbose output:
$ hg debugbundle --all bundle.hg
Benoit Boissinot
bundler: make parsechunk return the base revision of the delta
r14141 format: id, p1, p2, cset, delta base, len(delta)
Peter Arrenbrecht
commands: add debugbundle command...
r13724
changelog
Benoit Boissinot
bundler: make parsechunk return the base revision of the delta
r14141 0e067c57feba1a5694ca4844f05588bb1bf82342 3903775176ed42b1458a6281db4a0ccf4d9f287a 0000000000000000000000000000000000000000 0e067c57feba1a5694ca4844f05588bb1bf82342 3903775176ed42b1458a6281db4a0ccf4d9f287a 80
991a3460af53952d10ec8a295d3d2cc2e5fa9690 0e067c57feba1a5694ca4844f05588bb1bf82342 0000000000000000000000000000000000000000 991a3460af53952d10ec8a295d3d2cc2e5fa9690 0e067c57feba1a5694ca4844f05588bb1bf82342 80
Peter Arrenbrecht
commands: add debugbundle command...
r13724
manifest
Benoit Boissinot
bundler: make parsechunk return the base revision of the delta
r14141 686dbf0aeca417636fa26a9121c681eabbb15a20 8515d4bfda768e04af4c13a69a72e28c7effbea7 0000000000000000000000000000000000000000 0e067c57feba1a5694ca4844f05588bb1bf82342 8515d4bfda768e04af4c13a69a72e28c7effbea7 55
ae25a31b30b3490a981e7b96a3238cc69583fda1 686dbf0aeca417636fa26a9121c681eabbb15a20 0000000000000000000000000000000000000000 991a3460af53952d10ec8a295d3d2cc2e5fa9690 686dbf0aeca417636fa26a9121c681eabbb15a20 55
Peter Arrenbrecht
commands: add debugbundle command...
r13724
b
Mike Hommey
mdiff: don't emit a diff header for empty trivial deltas...
r27711 b80de5d138758541c5f05265ad144ab9fa86d1db 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0e067c57feba1a5694ca4844f05588bb1bf82342 0000000000000000000000000000000000000000 0
Peter Arrenbrecht
commands: add debugbundle command...
r13724
c
Mike Hommey
mdiff: don't emit a diff header for empty trivial deltas...
r27711 b80de5d138758541c5f05265ad144ab9fa86d1db 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 991a3460af53952d10ec8a295d3d2cc2e5fa9690 0000000000000000000000000000000000000000 0
Peter Arrenbrecht
commands: add debugbundle command...
r13724
Mike Hommey
debugbundle: add tests for debugbundle output with bundle2
r29062 $ hg debugbundle --all bundle2.hg
Stream params: {}
Augie Fackler
debugcommands: stabilize output of debugbundle by having a custom repr...
r34027 changegroup -- {nbchanges: 2, version: 02}
Mike Hommey
debugbundle: add tests for debugbundle output with bundle2
r29062 format: id, p1, p2, cset, delta base, len(delta)
changelog
Pierre-Yves David
changegroup: skip delta when the underlying revlog do not use them...
r30211 0e067c57feba1a5694ca4844f05588bb1bf82342 3903775176ed42b1458a6281db4a0ccf4d9f287a 0000000000000000000000000000000000000000 0e067c57feba1a5694ca4844f05588bb1bf82342 0000000000000000000000000000000000000000 66
991a3460af53952d10ec8a295d3d2cc2e5fa9690 0e067c57feba1a5694ca4844f05588bb1bf82342 0000000000000000000000000000000000000000 991a3460af53952d10ec8a295d3d2cc2e5fa9690 0000000000000000000000000000000000000000 66
Mike Hommey
debugbundle: add tests for debugbundle output with bundle2
r29062
manifest
686dbf0aeca417636fa26a9121c681eabbb15a20 8515d4bfda768e04af4c13a69a72e28c7effbea7 0000000000000000000000000000000000000000 0e067c57feba1a5694ca4844f05588bb1bf82342 8515d4bfda768e04af4c13a69a72e28c7effbea7 55
ae25a31b30b3490a981e7b96a3238cc69583fda1 686dbf0aeca417636fa26a9121c681eabbb15a20 0000000000000000000000000000000000000000 991a3460af53952d10ec8a295d3d2cc2e5fa9690 686dbf0aeca417636fa26a9121c681eabbb15a20 55
b
b80de5d138758541c5f05265ad144ab9fa86d1db 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0e067c57feba1a5694ca4844f05588bb1bf82342 0000000000000000000000000000000000000000 0
c
b80de5d138758541c5f05265ad144ab9fa86d1db 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 991a3460af53952d10ec8a295d3d2cc2e5fa9690 0000000000000000000000000000000000000000 0
Boris Feld
bundle: include advisory rev branch cache part in bundle2 bundle...
r36983 cache:rev-branch-cache -- {}
Mike Hommey
debugbundle: add tests for debugbundle output with bundle2
r29062
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..