##// END OF EJS Templates
stream-requirements: smoother matching in test-http-protocol.t...
stream-requirements: smoother matching in test-http-protocol.t The value of `streamreqs` changes depending of the format used, but this is not relevant for this tests. So we doing a smarter matching of the line to avoid this test interfering with format changes in the future. Differential Revision: https://phab.mercurial-scm.org/D12082

File last commit:

r49491:ff0233f3 default
r49497:c3239f2e default
Show More
test-debugcommands.t
710 lines | 19.6 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
rev linkrev nodeid p1 p2
0 0 07f494440405 000000000000 000000000000
1 1 8cccb4b5fec2 07f494440405 000000000000
2 2 b1e228c512c5 8cccb4b5fec2 000000000000
$ hg debugindex -c --debug
rev linkrev nodeid p1 p2
0 0 07f4944404050f47db2e5c5071e0e84e7a27bba9 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
1 1 8cccb4b5fec20cafeb99dd01c26d4dee8ea4388a 07f4944404050f47db2e5c5071e0e84e7a27bba9 0000000000000000000000000000000000000000
2 2 b1e228c512c5d7066d70562ed839c3323a62d6d2 8cccb4b5fec20cafeb99dd01c26d4dee8ea4388a 0000000000000000000000000000000000000000
$ hg debugindex -m
rev linkrev nodeid p1 p2
0 0 a0c8bcbbb45c 000000000000 000000000000
1 1 57faf8a737ae a0c8bcbbb45c 000000000000
2 2 a35b10320954 57faf8a737ae 000000000000
$ hg debugindex -m --debug
rev linkrev nodeid p1 p2
0 0 a0c8bcbbb45c63b90b70ad007bf38961f64f2af0 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
1 1 57faf8a737ae7faf490582941a82319ba6529dca a0c8bcbbb45c63b90b70ad007bf38961f64f2af0 0000000000000000000000000000000000000000
2 2 a35b103209548032201c16c7688cb2657f037a38 57faf8a737ae7faf490582941a82319ba6529dca 0000000000000000000000000000000000000000
$ hg debugindex a
rev linkrev nodeid p1 p2
0 0 b789fdd96dc2 000000000000 000000000000
$ hg debugindex --debug a
rev linkrev nodeid p1 p2
0 0 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
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
Boris Feld
test: enable sparse-revlog for test-debugcommands.t...
r40927 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
0 1 1 -1 base 44 43 44 1.02326 44 0 0.00000 44 44 1.00000 1
1 2 1 -1 base 0 0 0 0.00000 0 0 0.00000 0 0 1.00000 1
2 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.02325581395, (no-py3 !)
"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,
"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,
"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.02325581395, (no-py3 !)
"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,
"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
Paul Morelle
debugdeltachain: display how many chunks would be read in sparse-read mode
r35696 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
0 1 1 -1 base 44 43 44 1.02326 44 0 0.00000 44 44 1.00000 1
Boris Feld
debugdeltachain: protect against 0 readsize...
r38669 1 2 1 -1 base 0 0 0 0.00000 0 0 0.00000 0 0 1.00000 1
2 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.02325581395, (no-py3 !)
"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,
"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,
"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.02325581395, (no-py3 !)
"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,
"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
Augie Fackler
tests: update test-debugcommands to pass our import checker
r33955 > from __future__ import absolute_import
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:
Manuel Jacob
pycompat: change users of pycompat.{stdin,stdout,stderr} to use procutil.std*...
r45598 *debugstacktrace.py:16 in * (glob)
*debugstacktrace.py:9 in f (glob)
Mads Kiilerich
util: strip trailing newline from debugstacktrace message...
r31314 hello from g at:
Manuel Jacob
pycompat: change users of pycompat.{stdin,stdout,stderr} to use procutil.std*...
r45598 *debugstacktrace.py:16 in * (glob)
*debugstacktrace.py:10 in f (glob)
Mads Kiilerich
tests: rework util.debugstacktrace tests...
r31313 hi ...
from h hidden in g at:
Manuel Jacob
pycompat: change users of pycompat.{stdin,stdout,stderr} to use procutil.std*...
r45598 *debugstacktrace.py:10 in f (glob)
*debugstacktrace.py:13 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
test-bundle: split some variant in there own section...
r49491 remote: 463
remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,persistent-nodemap,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
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
#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