annotate tests/test-debugcommands.t @ 32697:19b9fc40cc51

revlog: skeleton support for version 2 revlogs There are a number of improvements we want to make to revlogs that will require a new version - version 2. It is unclear what the full set of improvements will be or when we'll be done with them. What I do know is that the process will likely take longer than a single release, will require input from various stakeholders to evaluate changes, and will have many contentious debates and bikeshedding. It is unrealistic to develop revlog version 2 up front: there are just too many uncertainties that we won't know until things are implemented and experiments are run. Some changes will also be invasive and prone to bit rot, so sitting on dozens of patches is not practical. This commit introduces skeleton support for version 2 revlogs in a way that is flexible and not bound by backwards compatibility concerns. An experimental repo requirement for denoting revlog v2 has been added. The requirement string has a sub-version component to it. This will allow us to declare multiple requirements in the course of developing revlog v2. Whenever we change the in-development revlog v2 format, we can tweak the string, creating a new requirement and locking out old clients. This will allow us to make as many backwards incompatible changes and experiments to revlog v2 as we want. In other words, we can land code and make meaningful progress towards revlog v2 while still maintaining extreme format flexibility up until the point we freeze the format and remove the experimental labels. To enable the new repo requirement, you must supply an experimental and undocumented config option. But not just any boolean flag will do: you need to explicitly use a value that no sane person should ever type. This is an additional guard against enabling revlog v2 on an installation it shouldn't be enabled on. The specific scenario I'm trying to prevent is say a user with a 4.4 client with a frozen format enabling the option but then downgrading to 4.3 and accidentally creating repos with an outdated and unsupported repo format. Requiring a "challenge" string should prevent this. Because the format is not yet finalized and I don't want to take any chances, revlog v2's version is currently 0xDEAD. I figure squatting on a value we're likely never to use as an actual revlog version to mean "internal testing only" is acceptable. And "dead" is easily recognized as something meaningful. There is a bunch of cleanup that is needed before work on revlog v2 begins in earnest. I plan on doing that work once this patch is accepted and we're comfortable with the idea of starting down this path.
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 19 May 2017 20:29:11 -0700
parents 7b17f9de6d3e
children 75be14993fda
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26918
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
1 $ cat << EOF >> $HGRCPATH
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
2 > [format]
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
3 > usegeneraldelta=yes
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
4 > EOF
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
5
17188
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
6 $ hg init debugrevlog
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
7 $ cd debugrevlog
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
8 $ echo a > a
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
9 $ hg ci -Am adda
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
10 adding a
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
11 $ hg debugrevlog -m
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
12 format : 1
26918
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
13 flags : inline, generaldelta
17188
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
14
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
15 revisions : 1
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
16 merges : 0 ( 0.00%)
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
17 normal : 1 (100.00%)
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
18 revisions : 1
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
19 full : 1 (100.00%)
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
20 deltas : 0 ( 0.00%)
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
21 revision size : 44
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
22 full : 44 (100.00%)
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
23 deltas : 0 ( 0.00%)
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
24
30452
932b18c95e11 commands: print chunk type in debugrevlog
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27263
diff changeset
25 chunks : 1
932b18c95e11 commands: print chunk type in debugrevlog
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27263
diff changeset
26 0x75 (u) : 1 (100.00%)
932b18c95e11 commands: print chunk type in debugrevlog
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27263
diff changeset
27 chunks size : 44
932b18c95e11 commands: print chunk type in debugrevlog
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27263
diff changeset
28 0x75 (u) : 44 (100.00%)
932b18c95e11 commands: print chunk type in debugrevlog
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27263
diff changeset
29
17188
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
30 avg chain length : 0
24503
944749de6f3a commands.debugrevlog: report max chain length
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23547
diff changeset
31 max chain length : 0
17188
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
32 compression ratio : 0
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
33
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
34 uncompressed data size (min/max/avg) : 43 / 43 / 43
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
35 full revision size (min/max/avg) : 44 / 44 / 44
76e55914c303 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
36 delta size (min/max/avg) : 0 / 0 / 0
20244
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
37
23547
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
38 Test debugindex, with and without the --debug flag
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
39 $ hg debugindex a
26918
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
40 rev offset length ..... linkrev nodeid p1 p2 (re)
23547
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
41 0 0 3 .... 0 b789fdd96dc2 000000000000 000000000000 (re)
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
42 $ hg --debug debugindex a
26918
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
43 rev offset length ..... linkrev nodeid p1 p2 (re)
23547
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
44 0 0 3 .... 0 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 (re)
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
45 $ hg debugindex -f 1 a
26918
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
46 rev flag offset length size ..... link p1 p2 nodeid (re)
23547
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
47 0 0000 0 3 2 .... 0 -1 -1 b789fdd96dc2 (re)
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
48 $ hg --debug debugindex -f 1 a
26918
0438df737fb7 test: enable generaldelta in 'test-debugcommand.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24503
diff changeset
49 rev flag offset length size ..... link p1 p2 nodeid (re)
23547
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
50 0 0000 0 3 2 .... 0 -1 -1 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 (re)
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
51
27263
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
52 debugdelta chain basic output
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
53
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
54 $ hg debugdeltachain -m
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
55 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
56 0 1 1 -1 base 44 43 44 1.02326 44 0 0.00000
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
57
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
58 $ hg debugdeltachain -m -T '{rev} {chainid} {chainlen}\n'
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
59 0 1 1
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
60
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
61 $ hg debugdeltachain -m -Tjson
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
62 [
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
63 {
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
64 "chainid": 1,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
65 "chainlen": 1,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
66 "chainratio": 1.02325581395,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
67 "chainsize": 44,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
68 "compsize": 44,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
69 "deltatype": "base",
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
70 "extradist": 0,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
71 "extraratio": 0.0,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
72 "lindist": 44,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
73 "prevrev": -1,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
74 "rev": 0,
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
75 "uncompsize": 43
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
76 }
4efb36ecaaec commands: add debugdeltachain command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26918
diff changeset
77 ]
23547
21446f4d5c62 debugindex: respect --debug flag to show full nodeids
Kyle Lippincott <spectral@google.com>
parents: 23256
diff changeset
78
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
79 Test max chain len
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
80 $ cat >> $HGRCPATH << EOF
23256
1c11393d5dfb localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents: 23255
diff changeset
81 > [format]
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
82 > maxchainlen=4
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
83 > EOF
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
84
23256
1c11393d5dfb localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents: 23255
diff changeset
85 $ printf "This test checks if maxchainlen config value is respected also it can serve as basic test for debugrevlog -d <file>.\n" >> a
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
86 $ hg ci -m a
23256
1c11393d5dfb localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents: 23255
diff changeset
87 $ printf "b\n" >> a
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
88 $ hg ci -m a
23256
1c11393d5dfb localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents: 23255
diff changeset
89 $ printf "c\n" >> a
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
90 $ hg ci -m a
23256
1c11393d5dfb localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents: 23255
diff changeset
91 $ printf "d\n" >> a
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
92 $ hg ci -m a
23256
1c11393d5dfb localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents: 23255
diff changeset
93 $ printf "e\n" >> a
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
94 $ hg ci -m a
23256
1c11393d5dfb localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents: 23255
diff changeset
95 $ printf "f\n" >> a
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
96 $ hg ci -m a
23256
1c11393d5dfb localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents: 23255
diff changeset
97 $ printf 'g\n' >> a
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
98 $ hg ci -m a
23256
1c11393d5dfb localrepo: rename revlog.maxchainlen to format.maxchainlen
Augie Fackler <raf@durin42.com>
parents: 23255
diff changeset
99 $ printf 'h\n' >> a
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
100 $ hg ci -m a
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
101 $ hg debugrevlog -d a
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
102 # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
103 0 -1 -1 0 ??? 0 0 0 0 ??? ???? ? 1 0 (glob)
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
104 1 0 -1 ??? ??? 0 0 0 0 ??? ???? ? 1 1 (glob)
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
105 2 1 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob)
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
106 3 2 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob)
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
107 4 3 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 4 (glob)
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
108 5 4 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 0 (glob)
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
109 6 5 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 1 (glob)
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
110 7 6 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob)
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
111 8 7 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob)
32265
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
112
32659
7b17f9de6d3e revlog: map rev(wdirid) to WdirUnsupported exception
Yuya Nishihara <yuya@tcha.org>
parents: 32267
diff changeset
113 Test WdirUnsupported exception
7b17f9de6d3e revlog: map rev(wdirid) to WdirUnsupported exception
Yuya Nishihara <yuya@tcha.org>
parents: 32267
diff changeset
114
7b17f9de6d3e revlog: map rev(wdirid) to WdirUnsupported exception
Yuya Nishihara <yuya@tcha.org>
parents: 32267
diff changeset
115 $ hg debugdata -c ffffffffffffffffffffffffffffffffffffffff
7b17f9de6d3e revlog: map rev(wdirid) to WdirUnsupported exception
Yuya Nishihara <yuya@tcha.org>
parents: 32267
diff changeset
116 abort: working directory revision cannot be specified
7b17f9de6d3e revlog: map rev(wdirid) to WdirUnsupported exception
Yuya Nishihara <yuya@tcha.org>
parents: 32267
diff changeset
117 [255]
7b17f9de6d3e revlog: map rev(wdirid) to WdirUnsupported exception
Yuya Nishihara <yuya@tcha.org>
parents: 32267
diff changeset
118
32265
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
119 Test cache warming command
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
120
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
121 $ rm -rf .hg/cache/
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
122 $ hg debugupdatecaches --debug
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32265
diff changeset
123 updating the branch cache
32265
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
124 $ ls -r .hg/cache/*
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
125 .hg/cache/rbc-revs-v1
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
126 .hg/cache/rbc-names-v1
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
127 .hg/cache/branch2-served
ccef71de7d41 caches: introduce a 'debugupdatecaches' command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31315
diff changeset
128
23255
76effa770ff9 revlog: add config variable for limiting delta-chain length
Mateusz Kwapich <mitrandir@fb.com>
parents: 20543
diff changeset
129 $ cd ..
20244
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
130
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
131 Test internal debugstacktrace command
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
132
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
133 $ cat > debugstacktrace.py << EOF
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
134 > from mercurial.util import debugstacktrace, dst, sys
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
135 > def f():
31313
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
136 > debugstacktrace(f=sys.stdout)
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
137 > g()
20244
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
138 > def g():
31313
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
139 > dst('hello from g\\n', skip=1)
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
140 > h()
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
141 > def h():
31315
78ac7061f840 util: add debugstacktrace depth limit
Mads Kiilerich <madski@unity3d.com>
parents: 31314
diff changeset
142 > dst('hi ...\\nfrom h hidden in g', 1, depth=2)
31313
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
143 > f()
20244
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
144 > EOF
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
145 $ python debugstacktrace.py
47d0843647d1 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com>
parents: 17188
diff changeset
146 stacktrace at:
31313
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
147 debugstacktrace.py:10 in * (glob)
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
148 debugstacktrace.py:3 in f
31314
7c877cbf30d6 util: strip trailing newline from debugstacktrace message
Mads Kiilerich <madski@unity3d.com>
parents: 31313
diff changeset
149 hello from g at:
31313
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
150 debugstacktrace.py:10 in * (glob)
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
151 debugstacktrace.py:4 in f
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
152 hi ...
80752c655320 tests: rework util.debugstacktrace tests
Mads Kiilerich <madski@unity3d.com>
parents: 30452
diff changeset
153 from h hidden in g at:
31315
78ac7061f840 util: add debugstacktrace depth limit
Mads Kiilerich <madski@unity3d.com>
parents: 31314
diff changeset
154 debugstacktrace.py:4 in f
78ac7061f840 util: add debugstacktrace depth limit
Mads Kiilerich <madski@unity3d.com>
parents: 31314
diff changeset
155 debugstacktrace.py:7 in g