##// END OF EJS Templates
debug-revlog: details about non-ancestors delta-bases...
debug-revlog: details about non-ancestors delta-bases Deltas against a base that is not an ancestor of the revision that owns this delta are notable. For example, they introduce complexity during the bundling process as the base might not exist on the unbundling side. We detect them in `hg debugrevlog` and print information about them.

File last commit:

r50161:da3e37ec default
r50556:511106bc default
Show More
test-debugcommands.t
717 lines | 21.3 KiB | text/troff | Tads3Lexer
/ tests / test-debugcommands.t
Pierre-Yves David
test: enable generaldelta in 'test-debugcommand.t'...
r26918 $ cat << EOF >> $HGRCPATH
Paul Morelle
debuglocks: allow setting a lock
r35396 > [ui]
> interactive=yes
Pierre-Yves David
test: enable generaldelta in 'test-debugcommand.t'...
r26918 > EOF
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188 $ hg init debugrevlog
$ cd debugrevlog
$ echo a > a
$ hg ci -Am adda
adding a
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 $ hg rm .
removing a
$ hg ci -Am make-it-empty
$ hg revert --all -r 0
adding a
$ hg ci -Am make-it-full
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #if reporevlogstore
Boris Feld
debugrevlog: fix for non-manifest object...
r39184 $ hg debugrevlog -c
format : 1
flags : inline
revisions : 3
merges : 0 ( 0.00%)
normal : 3 (100.00%)
revisions : 3
empty : 0 ( 0.00%)
text : 0 (100.00%)
delta : 0 (100.00%)
Boris Feld
debugrevlog: display snapshot details per depth...
r39189 snapshot : 3 (100.00%)
lvl-0 : 3 (100.00%)
Boris Feld
debugrevlog: fix for non-manifest object...
r39184 deltas : 0 ( 0.00%)
revision size : 191
Boris Feld
debugrevlog: display snapshot details per depth...
r39189 snapshot : 191 (100.00%)
lvl-0 : 191 (100.00%)
Boris Feld
debugrevlog: fix for non-manifest object...
r39184 deltas : 0 ( 0.00%)
chunks : 3
0x75 (u) : 3 (100.00%)
chunks size : 191
0x75 (u) : 191 (100.00%)
avg chain length : 0
max chain length : 0
max chain reach : 67
compression ratio : 0
uncompressed data size (min/max/avg) : 57 / 66 / 62
full revision size (min/max/avg) : 58 / 67 / 63
Boris Feld
debugrevlog: display snapshot details per depth...
r39189 inter-snapshot size (min/max/avg) : 0 / 0 / 0
Boris Feld
debugrevlog: fix for non-manifest object...
r39184 delta size (min/max/avg) : 0 / 0 / 0
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188 $ hg debugrevlog -m
format : 1
Pierre-Yves David
test: enable generaldelta in 'test-debugcommand.t'...
r26918 flags : inline, generaldelta
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 revisions : 3
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188 merges : 0 ( 0.00%)
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 normal : 3 (100.00%)
revisions : 3
Boris Feld
debugrevlog: track empty revlog entries...
r39116 empty : 1 (33.33%)
Boris Feld
debugrevlog: display details about empty revision...
r39117 text : 1 (100.00%)
delta : 0 ( 0.00%)
Boris Feld
debugrevlog: display snapshot details per depth...
r39189 snapshot : 2 (66.67%)
lvl-0 : 2 (66.67%)
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188 deltas : 0 ( 0.00%)
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 revision size : 88
Boris Feld
debugrevlog: display snapshot details per depth...
r39189 snapshot : 88 (100.00%)
lvl-0 : 88 (100.00%)
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188 deltas : 0 ( 0.00%)
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 chunks : 3
empty : 1 (33.33%)
0x75 (u) : 2 (66.67%)
chunks size : 88
empty : 0 ( 0.00%)
0x75 (u) : 88 (100.00%)
Gregory Szorc
commands: print chunk type in debugrevlog...
r30452
Yuya Nishihara
debugrevlog: align chain length, reach, and compression ratio...
r33062 avg chain length : 0
max chain length : 0
max chain reach : 44
compression ratio : 0
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 uncompressed data size (min/max/avg) : 0 / 43 / 28
Boris Feld
debugrevlog: track empty revlog entries...
r39116 full revision size (min/max/avg) : 44 / 44 / 44
Boris Feld
debugrevlog: display snapshot details per depth...
r39189 inter-snapshot size (min/max/avg) : 0 / 0 / 0
Patrick Mezard
debugrevlog: handle numrevs == numfull case (issue3537)...
r17188 delta size (min/max/avg) : 0 / 0 / 0
Boris Feld
debugrevlog: fix for non-manifest object...
r39184 $ hg debugrevlog a
format : 1
flags : inline, generaldelta
revisions : 1
merges : 0 ( 0.00%)
normal : 1 (100.00%)
revisions : 1
empty : 0 ( 0.00%)
text : 0 (100.00%)
delta : 0 (100.00%)
Boris Feld
debugrevlog: display snapshot details per depth...
r39189 snapshot : 1 (100.00%)
lvl-0 : 1 (100.00%)
Boris Feld
debugrevlog: fix for non-manifest object...
r39184 deltas : 0 ( 0.00%)
revision size : 3
Boris Feld
debugrevlog: display snapshot details per depth...
r39189 snapshot : 3 (100.00%)
lvl-0 : 3 (100.00%)
Boris Feld
debugrevlog: fix for non-manifest object...
r39184 deltas : 0 ( 0.00%)
chunks : 1
0x75 (u) : 1 (100.00%)
chunks size : 3
0x75 (u) : 3 (100.00%)
avg chain length : 0
max chain length : 0
max chain reach : 3
compression ratio : 0
uncompressed data size (min/max/avg) : 2 / 2 / 2
full revision size (min/max/avg) : 3 / 3 / 3
Boris Feld
debugrevlog: display snapshot details per depth...
r39189 inter-snapshot size (min/max/avg) : 0 / 0 / 0
Boris Feld
debugrevlog: fix for non-manifest object...
r39184 delta size (min/max/avg) : 0 / 0 / 0
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #endif
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 Test debugindex, with and without the --verbose/--debug flag
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg debugrevlogindex a
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 rev linkrev nodeid p1 p2
0 0 b789fdd96dc2 000000000000 000000000000
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #if no-reposimplestore
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg --verbose debugrevlogindex a
Gregory Szorc
debugcommands: drop base revision from debugindex...
r37300 rev offset length linkrev nodeid p1 p2
0 0 3 0 b789fdd96dc2 000000000000 000000000000
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg --debug debugrevlogindex a
Gregory Szorc
debugcommands: drop base revision from debugindex...
r37300 rev offset length linkrev nodeid p1 p2
0 0 3 0 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #endif
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg debugrevlogindex -f 1 a
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 rev flag size link p1 p2 nodeid
0 0000 2 0 -1 -1 b789fdd96dc2
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #if no-reposimplestore
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg --verbose debugrevlogindex -f 1 a
Gregory Szorc
debugcommands: drop base revision from debugindex...
r37300 rev flag offset length size link p1 p2 nodeid
0 0000 0 3 2 0 -1 -1 b789fdd96dc2
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg --debug debugrevlogindex -f 1 a
Gregory Szorc
debugcommands: drop base revision from debugindex...
r37300 rev flag offset length size link p1 p2 nodeid
0 0000 0 3 2 0 -1 -1 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #endif
Kyle Lippincott
debugindex: respect --debug flag to show full nodeids
r23547
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg debugindex -c
debugindex: rename the parent column to mention nodeid...
r50147 rev linkrev nodeid p1-nodeid p2-nodeid
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 0 0 07f494440405 000000000000 000000000000
1 1 8cccb4b5fec2 07f494440405 000000000000
2 2 b1e228c512c5 8cccb4b5fec2 000000000000
$ hg debugindex -c --debug
debugindex: add a `rank` column
r50161 rev rank linkrev nodeid p1-rev p1-nodeid p2-rev p2-nodeid full-size delta-base flags comp-mode data-offset chunk-size sd-comp-mode sidedata-offset sd-chunk-size
0 -1 0 07f4944404050f47db2e5c5071e0e84e7a27bba9 -1 0000000000000000000000000000000000000000 -1 0000000000000000000000000000000000000000 57 0 0 2 0 58 inline 0 0
1 -1 1 8cccb4b5fec20cafeb99dd01c26d4dee8ea4388a 0 07f4944404050f47db2e5c5071e0e84e7a27bba9 -1 0000000000000000000000000000000000000000 66 1 0 2 58 67 inline 0 0
2 -1 2 b1e228c512c5d7066d70562ed839c3323a62d6d2 1 8cccb4b5fec20cafeb99dd01c26d4dee8ea4388a -1 0000000000000000000000000000000000000000 65 2 0 2 125 66 inline 0 0
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg debugindex -m
debugindex: rename the parent column to mention nodeid...
r50147 rev linkrev nodeid p1-nodeid p2-nodeid
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 0 0 a0c8bcbbb45c 000000000000 000000000000
1 1 57faf8a737ae a0c8bcbbb45c 000000000000
2 2 a35b10320954 57faf8a737ae 000000000000
$ hg debugindex -m --debug
debugindex: add a `rank` column
r50161 rev rank linkrev nodeid p1-rev p1-nodeid p2-rev p2-nodeid full-size delta-base flags comp-mode data-offset chunk-size sd-comp-mode sidedata-offset sd-chunk-size
0 -1 0 a0c8bcbbb45c63b90b70ad007bf38961f64f2af0 -1 0000000000000000000000000000000000000000 -1 0000000000000000000000000000000000000000 43 0 0 2 0 44 inline 0 0
1 -1 1 57faf8a737ae7faf490582941a82319ba6529dca 0 a0c8bcbbb45c63b90b70ad007bf38961f64f2af0 -1 0000000000000000000000000000000000000000 0 1 0 2 44 0 inline 0 0
2 -1 2 a35b103209548032201c16c7688cb2657f037a38 1 57faf8a737ae7faf490582941a82319ba6529dca -1 0000000000000000000000000000000000000000 43 2 0 2 44 44 inline 0 0
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg debugindex a
debugindex: rename the parent column to mention nodeid...
r50147 rev linkrev nodeid p1-nodeid p2-nodeid
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 0 0 b789fdd96dc2 000000000000 000000000000
$ hg debugindex --debug a
debugindex: add a `rank` column
r50161 rev rank linkrev nodeid p1-rev p1-nodeid p2-rev p2-nodeid full-size delta-base flags comp-mode data-offset chunk-size sd-comp-mode sidedata-offset sd-chunk-size
0 -1 0 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 -1 0000000000000000000000000000000000000000 -1 0000000000000000000000000000000000000000 2 0 0 2 0 3 inline 0 0
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318
Gregory Szorc
commands: add debugdeltachain command...
r27263 debugdelta chain basic output
Martin von Zweigbergk
debugcommands: avoid stack trace from debugindexstats in pure mode...
r40401 #if reporevlogstore pure
$ hg debugindexstats
abort: debugindexstats only works with native code
[255]
#endif
#if reporevlogstore no-pure
Martin von Zweigbergk
debugcommands: add a debugindexstats command...
r40016 $ hg debugindexstats
node trie capacity: 4
node trie count: 2
node trie depth: 1
persistent-nodemap: enable the feature by default when using Rust...
r47646 node trie last rev scanned: -1 (no-rust !)
node trie last rev scanned: 3 (rust !)
node trie lookups: 4 (no-rust !)
node trie lookups: 2 (rust !)
Martin von Zweigbergk
debugcommands: add a debugindexstats command...
r40016 node trie misses: 1
node trie splits: 1
revs in memory: 3
Martin von Zweigbergk
debugcommands: avoid stack trace from debugindexstats in pure mode...
r40401 #endif
Martin von Zweigbergk
debugcommands: add a debugindexstats command...
r40016
Martin von Zweigbergk
debugcommands: avoid stack trace from debugindexstats in pure mode...
r40401 #if reporevlogstore no-pure
Gregory Szorc
commands: add debugdeltachain command...
r27263 $ hg debugdeltachain -m
debugdeltachain: also display p1/p2...
r50116 rev p1 p2 chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
0 -1 -1 1 1 -1 base 44 43 44 1.02326 44 0 0.00000 44 44 1.00000 1
1 0 -1 2 1 -1 base 0 0 0 0.00000 0 0 0.00000 0 0 1.00000 1
2 1 -1 3 1 -1 base 44 43 44 1.02326 44 0 0.00000 44 44 1.00000 1
Gregory Szorc
commands: add debugdeltachain command...
r27263
$ hg debugdeltachain -m -T '{rev} {chainid} {chainlen}\n'
0 1 1
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 1 2 1
2 3 1
Gregory Szorc
commands: add debugdeltachain command...
r27263
$ hg debugdeltachain -m -Tjson
[
{
"chainid": 1,
"chainlen": 1,
Martijn Pieters
py3: use py3 as the test tag, dropping the k...
r40299 "chainratio": 1.0232558139534884, (py3 !)
Gregory Szorc
commands: add debugdeltachain command...
r27263 "chainsize": 44,
"compsize": 44,
"deltatype": "base",
"extradist": 0,
"extraratio": 0.0,
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 "largestblock": 44,
Gregory Szorc
commands: add debugdeltachain command...
r27263 "lindist": 44,
debugdeltachain: also display p1/p2...
r50116 "p1": -1,
"p2": -1,
Gregory Szorc
commands: add debugdeltachain command...
r27263 "prevrev": -1,
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 "readdensity": 1.0,
"readsize": 44,
Gregory Szorc
commands: add debugdeltachain command...
r27263 "rev": 0,
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 "srchunks": 1,
Gregory Szorc
commands: add debugdeltachain command...
r27263 "uncompsize": 43
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 },
{
"chainid": 2,
"chainlen": 1,
"chainratio": 0,
"chainsize": 0,
"compsize": 0,
"deltatype": "base",
"extradist": 0,
"extraratio": 0,
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 "largestblock": 0,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "lindist": 0,
debugdeltachain: also display p1/p2...
r50116 "p1": 0,
"p2": -1,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "prevrev": -1,
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 "readdensity": 1,
"readsize": 0,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "rev": 1,
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 "srchunks": 1,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "uncompsize": 0
},
{
"chainid": 3,
"chainlen": 1,
Martijn Pieters
py3: use py3 as the test tag, dropping the k...
r40299 "chainratio": 1.0232558139534884, (py3 !)
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "chainsize": 44,
"compsize": 44,
"deltatype": "base",
"extradist": 0,
"extraratio": 0.0,
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 "largestblock": 44,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "lindist": 44,
debugdeltachain: also display p1/p2...
r50116 "p1": 1,
"p2": -1,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "prevrev": -1,
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 "readdensity": 1.0,
"readsize": 44,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "rev": 2,
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 "srchunks": 1,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "uncompsize": 43
Gregory Szorc
commands: add debugdeltachain command...
r27263 }
]
Kyle Lippincott
debugindex: respect --debug flag to show full nodeids
r23547
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050 debugdelta chain with sparse read enabled
$ cat >> $HGRCPATH <<EOF
> [experimental]
> sparse-read = True
> EOF
$ hg debugdeltachain -m
debugdeltachain: also display p1/p2...
r50116 rev p1 p2 chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
0 -1 -1 1 1 -1 base 44 43 44 1.02326 44 0 0.00000 44 44 1.00000 1
1 0 -1 2 1 -1 base 0 0 0 0.00000 0 0 0.00000 0 0 1.00000 1
2 1 -1 3 1 -1 base 44 43 44 1.02326 44 0 0.00000 44 44 1.00000 1
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050
$ hg debugdeltachain -m -T '{rev} {chainid} {chainlen} {readsize} {largestblock} {readdensity}\n'
0 1 1 44 44 1.0
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 1 2 1 0 0 1
2 3 1 44 44 1.0
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050
$ hg debugdeltachain -m -Tjson
[
{
"chainid": 1,
"chainlen": 1,
Martijn Pieters
py3: use py3 as the test tag, dropping the k...
r40299 "chainratio": 1.0232558139534884, (py3 !)
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050 "chainsize": 44,
"compsize": 44,
"deltatype": "base",
"extradist": 0,
"extraratio": 0.0,
"largestblock": 44,
"lindist": 44,
debugdeltachain: also display p1/p2...
r50116 "p1": -1,
"p2": -1,
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050 "prevrev": -1,
"readdensity": 1.0,
"readsize": 44,
"rev": 0,
Paul Morelle
debugdeltachain: display how many chunks would be read in sparse-read mode
r35696 "srchunks": 1,
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050 "uncompsize": 43
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 },
{
"chainid": 2,
"chainlen": 1,
"chainratio": 0,
"chainsize": 0,
"compsize": 0,
"deltatype": "base",
"extradist": 0,
"extraratio": 0,
"largestblock": 0,
"lindist": 0,
debugdeltachain: also display p1/p2...
r50116 "p1": 0,
"p2": -1,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "prevrev": -1,
"readdensity": 1,
"readsize": 0,
"rev": 1,
"srchunks": 1,
"uncompsize": 0
},
{
"chainid": 3,
"chainlen": 1,
Martijn Pieters
py3: use py3 as the test tag, dropping the k...
r40299 "chainratio": 1.0232558139534884, (py3 !)
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "chainsize": 44,
"compsize": 44,
"deltatype": "base",
"extradist": 0,
"extraratio": 0.0,
"largestblock": 44,
"lindist": 44,
debugdeltachain: also display p1/p2...
r50116 "p1": 1,
"p2": -1,
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 "prevrev": -1,
"readdensity": 1.0,
"readsize": 44,
"rev": 2,
"srchunks": 1,
"uncompsize": 43
Paul Morelle
debugdeltachain: output information about sparse read if enabled
r35050 }
]
Paul Morelle
debugdeltachain: display how many chunks would be read in sparse-read mode
r35696 $ printf "This test checks things.\n" >> a
$ hg ci -m a
$ hg branch other
marked working directory as branch other
(branches are permanent and global, did you want a bookmark?)
$ for i in `$TESTDIR/seq.py 5`; do
> printf "shorter ${i}" >> a
> hg ci -m "a other:$i"
> hg up -q default
> printf "for the branch default we want longer chains: ${i}" >> a
> hg ci -m "a default:$i"
> hg up -q other
> done
$ hg debugdeltachain a -T '{rev} {srchunks}\n' \
> --config experimental.sparse-read.density-threshold=0.50 \
> --config experimental.sparse-read.min-gap-size=0
0 1
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
revlog-compression: use zstd by default (if available)...
r47636 10 2 (no-zstd !)
10 1 (zstd !)
Paul Morelle
debugdeltachain: display how many chunks would be read in sparse-read mode
r35696 11 1
$ hg --config extensions.strip= strip --no-backup -r 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 Test max chain len
$ cat >> $HGRCPATH << EOF
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 > [format]
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 > maxchainlen=4
> EOF
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "This test checks if maxchainlen config value is respected also it can serve as basic test for debugrevlog -d <file>.\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "b\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "c\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "d\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "e\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf "f\n" >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf 'g\n' >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Augie Fackler
localrepo: rename revlog.maxchainlen to format.maxchainlen...
r23256 $ printf 'h\n' >> a
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg ci -m a
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ hg debugrevlog -d a
# rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen
0 -1 -1 0 ??? 0 0 0 0 ??? ???? ? 1 0 (glob)
1 0 -1 ??? ??? 0 0 0 0 ??? ???? ? 1 1 (glob)
2 1 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob)
3 2 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob)
4 3 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 4 (glob)
5 4 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 0 (glob)
6 5 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 1 (glob)
7 6 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob)
8 7 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob)
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #endif
Pierre-Yves David
caches: introduce a 'debugupdatecaches' command...
r32265
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 Test debuglocks command:
$ hg debuglocks
lock: free
wlock: free
* Test setting the lock
waitlock <file> will wait for file to be created. If it isn't in a reasonable
amount of time, displays error message and returns 1
$ waitlock() {
> start=`date +%s`
Paul Morelle
debuglocks: allow setting a lock
r35396 > timeout=5
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 > while [ \( ! -f $1 \) -a \( ! -L $1 \) ]; do
> now=`date +%s`
> if [ "`expr $now - $start`" -gt $timeout ]; then
> echo "timeout: $1 was not created in $timeout seconds"
> return 1
> fi
> sleep 0.1
> done
> }
$ dolock() {
Paul Morelle
debuglocks: allow setting a lock
r35396 > {
> waitlock .hg/unlock
> rm -f .hg/unlock
> echo y
> } | hg debuglocks "$@" > /dev/null
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 > }
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -s &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/store/lock
$ hg debuglocks
lock: user *, process * (*s) (glob)
wlock: free
[1]
$ touch .hg/unlock
$ wait
Paul Morelle
debuglocks: allow setting a lock
r35396 $ [ -f .hg/store/lock ] || echo "There is no lock"
There is no lock
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395
* Test setting the wlock
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -S &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/wlock
$ hg debuglocks
lock: free
wlock: user *, process * (*s) (glob)
[1]
$ touch .hg/unlock
$ wait
Paul Morelle
debuglocks: allow setting a lock
r35396 $ [ -f .hg/wlock ] || echo "There is no wlock"
There is no wlock
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395
* Test setting both locks
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -Ss &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/wlock && waitlock .hg/store/lock
$ hg debuglocks
lock: user *, process * (*s) (glob)
wlock: user *, process * (*s) (glob)
[2]
Paul Morelle
debuglocks: allow setting a lock
r35396
* Test failing to set a lock
$ hg debuglocks -s
abort: lock is already held
[255]
$ hg debuglocks -S
abort: wlock is already held
[255]
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ touch .hg/unlock
$ wait
$ hg debuglocks
lock: free
wlock: free
* Test forcing the lock
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -s &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/store/lock
$ hg debuglocks
lock: user *, process * (*s) (glob)
wlock: free
[1]
$ hg debuglocks -L
$ hg debuglocks
lock: free
wlock: free
$ touch .hg/unlock
$ wait
* Test forcing the wlock
Paul Morelle
debuglocks: allow setting a lock
r35396 $ dolock -S &
Paul Morelle
debuglocks: add tests (and fix typo in early return)
r35395 $ waitlock .hg/wlock
$ hg debuglocks
lock: free
wlock: user *, process * (*s) (glob)
[1]
$ hg debuglocks -W
$ hg debuglocks
lock: free
wlock: free
$ touch .hg/unlock
$ wait
Yuya Nishihara
revlog: map rev(wdirid) to WdirUnsupported exception...
r32657 Test WdirUnsupported exception
$ hg debugdata -c ffffffffffffffffffffffffffffffffffffffff
abort: working directory revision cannot be specified
[255]
Pierre-Yves David
caches: introduce a 'debugupdatecaches' command...
r32265 Test cache warming command
$ rm -rf .hg/cache/
$ hg debugupdatecaches --debug
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
Pierre-Yves David
caches: introduce a 'debugupdatecaches' command...
r32265 $ ls -r .hg/cache/*
updatecaches: also warm the tags caches...
r42100 .hg/cache/tags2-served
.hg/cache/tags2
Pierre-Yves David
caches: introduce a 'debugupdatecaches' command...
r32265 .hg/cache/rbc-revs-v1
.hg/cache/rbc-names-v1
updatecaches: also warm hgtagsfnodescache...
r42424 .hg/cache/hgtagsfnodes1
Kyle Lippincott
branchmap: explicitly warm+write all subsets of the branchmap caches...
r42940 .hg/cache/branch2-visible-hidden
.hg/cache/branch2-visible
.hg/cache/branch2-served.hidden
Pierre-Yves David
caches: introduce a 'debugupdatecaches' command...
r32265 .hg/cache/branch2-served
Kyle Lippincott
branchmap: explicitly warm+write all subsets of the branchmap caches...
r42940 .hg/cache/branch2-immutable
.hg/cache/branch2-base
Pierre-Yves David
caches: introduce a 'debugupdatecaches' command...
r32265
Yuya Nishihara
debugcolor: fix crash by empty styles (issue5856)
r37841 Test debugcolor
#if no-windows
$ hg debugcolor --style --color always | egrep 'mode|style|log\.'
Pulkit Goyal
py3: use stringutil.pprint() to print NoneType...
r38463 color mode: 'ansi'
Yuya Nishihara
debugcolor: fix crash by empty styles (issue5856)
r37841 available style:
\x1b[0;33mlog.changeset\x1b[0m: \x1b[0;33myellow\x1b[0m (esc)
#endif
$ hg debugcolor --style --color never
color mode: None
available style:
Mateusz Kwapich
revlog: add config variable for limiting delta-chain length...
r23255 $ cd ..
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244
Test internal debugstacktrace command
$ cat > debugstacktrace.py << EOF
Matt Harbison
py3: byteify extension in test-debugcommands.t
r39937 > from mercurial import (
> util,
> )
Manuel Jacob
pycompat: change users of pycompat.{stdin,stdout,stderr} to use procutil.std*...
r45598 > from mercurial.utils import (
> procutil,
> )
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244 > def f():
Manuel Jacob
pycompat: change users of pycompat.{stdin,stdout,stderr} to use procutil.std*...
r45598 > util.debugstacktrace(f=procutil.stdout)
Mads Kiilerich
tests: rework util.debugstacktrace tests...
r31313 > g()
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244 > def g():
Matt Harbison
py3: byteify extension in test-debugcommands.t
r39937 > util.dst(b'hello from g\\n', skip=1)
Mads Kiilerich
tests: rework util.debugstacktrace tests...
r31313 > h()
> def h():
Matt Harbison
py3: byteify extension in test-debugcommands.t
r39937 > util.dst(b'hi ...\\nfrom h hidden in g', 1, depth=2)
Mads Kiilerich
tests: rework util.debugstacktrace tests...
r31313 > f()
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244 > EOF
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" debugstacktrace.py
Mads Kiilerich
util: introduce util.debugstacktrace for showing a stack trace without crashing...
r20244 stacktrace at:
Gregory Szorc
tests: remove __future__ import from test-debugcommands.t...
r49732 *debugstacktrace.py:15 in * (glob)
*debugstacktrace.py:8 in f (glob)
Mads Kiilerich
util: strip trailing newline from debugstacktrace message...
r31314 hello from g at:
Gregory Szorc
tests: remove __future__ import from test-debugcommands.t...
r49732 *debugstacktrace.py:15 in * (glob)
*debugstacktrace.py:9 in f (glob)
Mads Kiilerich
tests: rework util.debugstacktrace tests...
r31313 hi ...
from h hidden in g at:
Gregory Szorc
tests: remove __future__ import from test-debugcommands.t...
r49732 *debugstacktrace.py:9 in f (glob)
*debugstacktrace.py:12 in g (glob)
Boris Feld
debug: add a debugcapabilities commands...
r34960
Test debugcapabilities command:
$ hg debugcapabilities ./debugrevlog/
Main capabilities:
branchmap
Boris Feld
test-pattern: actually update tests using the patterns...
r35073 $USUAL_BUNDLE2_CAPS$
Boris Feld
debug: add a debugcapabilities commands...
r34960 getbundle
known
lookup
pushkey
unbundle
Boris Feld
debug: print parsed bundle2 capabilities with debugcapabilities...
r34961 Bundle2 capabilities:
HG20
Boris Feld
push: include a 'check:bookmarks' part when possible...
r35260 bookmarks
Boris Feld
debug: print parsed bundle2 capabilities with debugcapabilities...
r34961 changegroup
01
02
Valentin Gatien-Baron
exchange: turn on option that makes concurrent pushes work better...
r44896 checkheads
related
Boris Feld
debug: print parsed bundle2 capabilities with debugcapabilities...
r34961 digests
md5
sha1
sha512
error
abort
unsupportedcontent
pushraced
pushkey
hgtagsfnodes
listkeys
phases
heads
pushkey
remote-changegroup
http
https
Gregory Szorc
bundle2: always advertise client support for stream parts...
r35810 stream
v2
Gregory Szorc
debugcommands: introduce debugpeer command...
r35947
Test debugpeer
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg debugpeer ssh://user@dummy/debugrevlog
Gregory Szorc
debugcommands: introduce debugpeer command...
r35947 url: ssh://user@dummy/debugrevlog
local: no
pushable: yes
test-bundle: split some variant in there own section...
r49491 #if rust
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg --debug debugpeer ssh://user@dummy/debugrevlog
Valentin Gatien-Baron
tests: normalize the way some debug output it matched...
r48735 running .* ".*[/\\]dummyssh" ['"]user@dummy['"] ['"]hg -R debugrevlog serve --stdio['"] (re)
Boris Feld
sshpeer: reflect actual command activity one handshake...
r37831 devel-peer-request: hello+between
devel-peer-request: pairs: 81 bytes
Gregory Szorc
debugcommands: introduce debugpeer command...
r35947 sending hello command
sending between command
stream-clone: allow to change persistent-nodemap format during stream clone...
r49542 remote: 468
remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlog-compression-zstd,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
Gregory Szorc
debugcommands: introduce debugpeer command...
r35947 remote: 1
Joerg Sonnenberger
wireproto: provide accessors for client capabilities...
r37411 devel-peer-request: protocaps
devel-peer-request: caps: * bytes (glob)
sending protocaps command
Gregory Szorc
debugcommands: introduce debugpeer command...
r35947 url: ssh://user@dummy/debugrevlog
local: no
pushable: yes
test-bundle: split some variant in there own section...
r49491
#endif
#if no-rust zstd
$ hg --debug debugpeer ssh://user@dummy/debugrevlog
running .* ".*[/\\]dummyssh" ['"]user@dummy['"] ['"]hg -R debugrevlog serve --stdio['"] (re)
devel-peer-request: hello+between
devel-peer-request: pairs: 81 bytes
sending hello command
sending between command
requirements: add an official `REVLOG_COMPRESSION_ZSTD` const...
r49498 remote: 468
remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlog-compression-zstd,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
test-bundle: split some variant in there own section...
r49491 remote: 1
devel-peer-request: protocaps
devel-peer-request: caps: * bytes (glob)
sending protocaps command
url: ssh://user@dummy/debugrevlog
local: no
pushable: yes
#endif
#if no-rust no-zstd
$ hg --debug debugpeer ssh://user@dummy/debugrevlog
running .* ".*[/\\]dummyssh" ['"]user@dummy['"] ['"]hg -R debugrevlog serve --stdio['"] (re)
devel-peer-request: hello+between
devel-peer-request: pairs: 81 bytes
sending hello command
sending between command
remote: 444
remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
remote: 1
devel-peer-request: protocaps
devel-peer-request: caps: * bytes (glob)
sending protocaps command
url: ssh://user@dummy/debugrevlog
local: no
pushable: yes
#endif