##// END OF EJS Templates
test: enable sparse-revlog for test-wireproto-command-capabilities.t...
Boris Feld -
r40951:e64a28e2 default
parent child Browse files
Show More
@@ -1,748 +1,756
1 TRANSITIONAL CONFIG
2 $ cat << EOF >> $HGRCPATH
3 > [format]
4 > sparse-revlog = yes
5 > EOF
6
1 #require no-chg
7 #require no-chg
2
8
3 $ . $TESTDIR/wireprotohelpers.sh
9 $ . $TESTDIR/wireprotohelpers.sh
4
10
5 $ hg init server
11 $ hg init server
6
12
7 zstd isn't present in plain builds. Make tests easier by removing
13 zstd isn't present in plain builds. Make tests easier by removing
8 zstd from the equation.
14 zstd from the equation.
9
15
10 $ cat >> server/.hg/hgrc << EOF
16 $ cat >> server/.hg/hgrc << EOF
11 > [server]
17 > [server]
12 > compressionengines = zlib
18 > compressionengines = zlib
13 > EOF
19 > EOF
14
20
15 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log
21 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log
16 $ cat hg.pid > $DAEMON_PIDS
22 $ cat hg.pid > $DAEMON_PIDS
17
23
18 A normal capabilities request is serviced for version 1
24 A normal capabilities request is serviced for version 1
19
25
20 $ sendhttpraw << EOF
26 $ sendhttpraw << EOF
21 > httprequest GET ?cmd=capabilities
27 > httprequest GET ?cmd=capabilities
22 > user-agent: test
28 > user-agent: test
23 > EOF
29 > EOF
24 using raw connection to peer
30 using raw connection to peer
25 s> GET /?cmd=capabilities HTTP/1.1\r\n
31 s> GET /?cmd=capabilities HTTP/1.1\r\n
26 s> Accept-Encoding: identity\r\n
32 s> Accept-Encoding: identity\r\n
27 s> user-agent: test\r\n
33 s> user-agent: test\r\n
28 s> host: $LOCALIP:$HGPORT\r\n (glob)
34 s> host: $LOCALIP:$HGPORT\r\n (glob)
29 s> \r\n
35 s> \r\n
30 s> makefile('rb', None)
36 s> makefile('rb', None)
31 s> HTTP/1.1 200 Script output follows\r\n
37 s> HTTP/1.1 200 Script output follows\r\n
32 s> Server: testing stub value\r\n
38 s> Server: testing stub value\r\n
33 s> Date: $HTTP_DATE$\r\n
39 s> Date: $HTTP_DATE$\r\n
34 s> Content-Type: application/mercurial-0.1\r\n
40 s> Content-Type: application/mercurial-0.1\r\n
35 s> Content-Length: *\r\n (glob)
41 s> Content-Length: *\r\n (glob)
36 s> \r\n
42 s> \r\n
37 s> batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
43 s> batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
38
44
39 A proper request without the API server enabled returns the legacy response
45 A proper request without the API server enabled returns the legacy response
40
46
41 $ sendhttpraw << EOF
47 $ sendhttpraw << EOF
42 > httprequest GET ?cmd=capabilities
48 > httprequest GET ?cmd=capabilities
43 > user-agent: test
49 > user-agent: test
44 > x-hgupgrade-1: foo
50 > x-hgupgrade-1: foo
45 > x-hgproto-1: cbor
51 > x-hgproto-1: cbor
46 > EOF
52 > EOF
47 using raw connection to peer
53 using raw connection to peer
48 s> GET /?cmd=capabilities HTTP/1.1\r\n
54 s> GET /?cmd=capabilities HTTP/1.1\r\n
49 s> Accept-Encoding: identity\r\n
55 s> Accept-Encoding: identity\r\n
50 s> user-agent: test\r\n
56 s> user-agent: test\r\n
51 s> x-hgproto-1: cbor\r\n
57 s> x-hgproto-1: cbor\r\n
52 s> x-hgupgrade-1: foo\r\n
58 s> x-hgupgrade-1: foo\r\n
53 s> host: $LOCALIP:$HGPORT\r\n (glob)
59 s> host: $LOCALIP:$HGPORT\r\n (glob)
54 s> \r\n
60 s> \r\n
55 s> makefile('rb', None)
61 s> makefile('rb', None)
56 s> HTTP/1.1 200 Script output follows\r\n
62 s> HTTP/1.1 200 Script output follows\r\n
57 s> Server: testing stub value\r\n
63 s> Server: testing stub value\r\n
58 s> Date: $HTTP_DATE$\r\n
64 s> Date: $HTTP_DATE$\r\n
59 s> Content-Type: application/mercurial-0.1\r\n
65 s> Content-Type: application/mercurial-0.1\r\n
60 s> Content-Length: *\r\n (glob)
66 s> Content-Length: *\r\n (glob)
61 s> \r\n
67 s> \r\n
62 s> batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
68 s> batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
63
69
64 Restart with just API server enabled. This enables serving the new format.
70 Restart with just API server enabled. This enables serving the new format.
65
71
66 $ killdaemons.py
72 $ killdaemons.py
67 $ cat error.log
73 $ cat error.log
68
74
69 $ cat >> server/.hg/hgrc << EOF
75 $ cat >> server/.hg/hgrc << EOF
70 > [experimental]
76 > [experimental]
71 > web.apiserver = true
77 > web.apiserver = true
72 > EOF
78 > EOF
73
79
74 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log
80 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log
75 $ cat hg.pid > $DAEMON_PIDS
81 $ cat hg.pid > $DAEMON_PIDS
76
82
77 X-HgUpgrade-<N> without CBOR advertisement uses legacy response
83 X-HgUpgrade-<N> without CBOR advertisement uses legacy response
78
84
79 $ sendhttpraw << EOF
85 $ sendhttpraw << EOF
80 > httprequest GET ?cmd=capabilities
86 > httprequest GET ?cmd=capabilities
81 > user-agent: test
87 > user-agent: test
82 > x-hgupgrade-1: foo bar
88 > x-hgupgrade-1: foo bar
83 > EOF
89 > EOF
84 using raw connection to peer
90 using raw connection to peer
85 s> GET /?cmd=capabilities HTTP/1.1\r\n
91 s> GET /?cmd=capabilities HTTP/1.1\r\n
86 s> Accept-Encoding: identity\r\n
92 s> Accept-Encoding: identity\r\n
87 s> user-agent: test\r\n
93 s> user-agent: test\r\n
88 s> x-hgupgrade-1: foo bar\r\n
94 s> x-hgupgrade-1: foo bar\r\n
89 s> host: $LOCALIP:$HGPORT\r\n (glob)
95 s> host: $LOCALIP:$HGPORT\r\n (glob)
90 s> \r\n
96 s> \r\n
91 s> makefile('rb', None)
97 s> makefile('rb', None)
92 s> HTTP/1.1 200 Script output follows\r\n
98 s> HTTP/1.1 200 Script output follows\r\n
93 s> Server: testing stub value\r\n
99 s> Server: testing stub value\r\n
94 s> Date: $HTTP_DATE$\r\n
100 s> Date: $HTTP_DATE$\r\n
95 s> Content-Type: application/mercurial-0.1\r\n
101 s> Content-Type: application/mercurial-0.1\r\n
96 s> Content-Length: *\r\n (glob)
102 s> Content-Length: *\r\n (glob)
97 s> \r\n
103 s> \r\n
98 s> batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
104 s> batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
99
105
100 X-HgUpgrade-<N> without known serialization in X-HgProto-<N> uses legacy response
106 X-HgUpgrade-<N> without known serialization in X-HgProto-<N> uses legacy response
101
107
102 $ sendhttpraw << EOF
108 $ sendhttpraw << EOF
103 > httprequest GET ?cmd=capabilities
109 > httprequest GET ?cmd=capabilities
104 > user-agent: test
110 > user-agent: test
105 > x-hgupgrade-1: foo bar
111 > x-hgupgrade-1: foo bar
106 > x-hgproto-1: some value
112 > x-hgproto-1: some value
107 > EOF
113 > EOF
108 using raw connection to peer
114 using raw connection to peer
109 s> GET /?cmd=capabilities HTTP/1.1\r\n
115 s> GET /?cmd=capabilities HTTP/1.1\r\n
110 s> Accept-Encoding: identity\r\n
116 s> Accept-Encoding: identity\r\n
111 s> user-agent: test\r\n
117 s> user-agent: test\r\n
112 s> x-hgproto-1: some value\r\n
118 s> x-hgproto-1: some value\r\n
113 s> x-hgupgrade-1: foo bar\r\n
119 s> x-hgupgrade-1: foo bar\r\n
114 s> host: $LOCALIP:$HGPORT\r\n (glob)
120 s> host: $LOCALIP:$HGPORT\r\n (glob)
115 s> \r\n
121 s> \r\n
116 s> makefile('rb', None)
122 s> makefile('rb', None)
117 s> HTTP/1.1 200 Script output follows\r\n
123 s> HTTP/1.1 200 Script output follows\r\n
118 s> Server: testing stub value\r\n
124 s> Server: testing stub value\r\n
119 s> Date: $HTTP_DATE$\r\n
125 s> Date: $HTTP_DATE$\r\n
120 s> Content-Type: application/mercurial-0.1\r\n
126 s> Content-Type: application/mercurial-0.1\r\n
121 s> Content-Length: *\r\n (glob)
127 s> Content-Length: *\r\n (glob)
122 s> \r\n
128 s> \r\n
123 s> batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
129 s> batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
124
130
125 X-HgUpgrade-<N> + X-HgProto-<N> headers trigger new response format
131 X-HgUpgrade-<N> + X-HgProto-<N> headers trigger new response format
126
132
127 $ sendhttpraw << EOF
133 $ sendhttpraw << EOF
128 > httprequest GET ?cmd=capabilities
134 > httprequest GET ?cmd=capabilities
129 > user-agent: test
135 > user-agent: test
130 > x-hgupgrade-1: foo bar
136 > x-hgupgrade-1: foo bar
131 > x-hgproto-1: cbor
137 > x-hgproto-1: cbor
132 > EOF
138 > EOF
133 using raw connection to peer
139 using raw connection to peer
134 s> GET /?cmd=capabilities HTTP/1.1\r\n
140 s> GET /?cmd=capabilities HTTP/1.1\r\n
135 s> Accept-Encoding: identity\r\n
141 s> Accept-Encoding: identity\r\n
136 s> user-agent: test\r\n
142 s> user-agent: test\r\n
137 s> x-hgproto-1: cbor\r\n
143 s> x-hgproto-1: cbor\r\n
138 s> x-hgupgrade-1: foo bar\r\n
144 s> x-hgupgrade-1: foo bar\r\n
139 s> host: $LOCALIP:$HGPORT\r\n (glob)
145 s> host: $LOCALIP:$HGPORT\r\n (glob)
140 s> \r\n
146 s> \r\n
141 s> makefile('rb', None)
147 s> makefile('rb', None)
142 s> HTTP/1.1 200 OK\r\n
148 s> HTTP/1.1 200 OK\r\n
143 s> Server: testing stub value\r\n
149 s> Server: testing stub value\r\n
144 s> Date: $HTTP_DATE$\r\n
150 s> Date: $HTTP_DATE$\r\n
145 s> Content-Type: application/mercurial-cbor\r\n
151 s> Content-Type: application/mercurial-cbor\r\n
146 s> Content-Length: *\r\n (glob)
152 s> Content-Length: *\r\n (glob)
147 s> \r\n
153 s> \r\n
148 s> \xa3GapibaseDapi/Dapis\xa0Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
154 s> \xa3GapibaseDapi/Dapis\xa0Nv1capabilitiesY\x01\xe0batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
149 cbor> [
155 cbor> [
150 {
156 {
151 b'apibase': b'api/',
157 b'apibase': b'api/',
152 b'apis': {},
158 b'apis': {},
153 b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'
159 b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'
154 }
160 }
155 ]
161 ]
156
162
157 Restart server to enable HTTPv2
163 Restart server to enable HTTPv2
158
164
159 $ killdaemons.py
165 $ killdaemons.py
160 $ enablehttpv2 server
166 $ enablehttpv2 server
161 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log
167 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log
162 $ cat hg.pid > $DAEMON_PIDS
168 $ cat hg.pid > $DAEMON_PIDS
163
169
164 Only requested API services are returned
170 Only requested API services are returned
165
171
166 $ sendhttpraw << EOF
172 $ sendhttpraw << EOF
167 > httprequest GET ?cmd=capabilities
173 > httprequest GET ?cmd=capabilities
168 > user-agent: test
174 > user-agent: test
169 > x-hgupgrade-1: foo bar
175 > x-hgupgrade-1: foo bar
170 > x-hgproto-1: cbor
176 > x-hgproto-1: cbor
171 > EOF
177 > EOF
172 using raw connection to peer
178 using raw connection to peer
173 s> GET /?cmd=capabilities HTTP/1.1\r\n
179 s> GET /?cmd=capabilities HTTP/1.1\r\n
174 s> Accept-Encoding: identity\r\n
180 s> Accept-Encoding: identity\r\n
175 s> user-agent: test\r\n
181 s> user-agent: test\r\n
176 s> x-hgproto-1: cbor\r\n
182 s> x-hgproto-1: cbor\r\n
177 s> x-hgupgrade-1: foo bar\r\n
183 s> x-hgupgrade-1: foo bar\r\n
178 s> host: $LOCALIP:$HGPORT\r\n (glob)
184 s> host: $LOCALIP:$HGPORT\r\n (glob)
179 s> \r\n
185 s> \r\n
180 s> makefile('rb', None)
186 s> makefile('rb', None)
181 s> HTTP/1.1 200 OK\r\n
187 s> HTTP/1.1 200 OK\r\n
182 s> Server: testing stub value\r\n
188 s> Server: testing stub value\r\n
183 s> Date: $HTTP_DATE$\r\n
189 s> Date: $HTTP_DATE$\r\n
184 s> Content-Type: application/mercurial-cbor\r\n
190 s> Content-Type: application/mercurial-cbor\r\n
185 s> Content-Length: *\r\n (glob)
191 s> Content-Length: *\r\n (glob)
186 s> \r\n
192 s> \r\n
187 s> \xa3GapibaseDapi/Dapis\xa0Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
193 s> \xa3GapibaseDapi/Dapis\xa0Nv1capabilitiesY\x01\xe0batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
188 cbor> [
194 cbor> [
189 {
195 {
190 b'apibase': b'api/',
196 b'apibase': b'api/',
191 b'apis': {},
197 b'apis': {},
192 b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'
198 b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'
193 }
199 }
194 ]
200 ]
195
201
196 Request for HTTPv2 service returns information about it
202 Request for HTTPv2 service returns information about it
197
203
198 $ sendhttpraw << EOF
204 $ sendhttpraw << EOF
199 > httprequest GET ?cmd=capabilities
205 > httprequest GET ?cmd=capabilities
200 > user-agent: test
206 > user-agent: test
201 > x-hgupgrade-1: exp-http-v2-0003 foo bar
207 > x-hgupgrade-1: exp-http-v2-0003 foo bar
202 > x-hgproto-1: cbor
208 > x-hgproto-1: cbor
203 > EOF
209 > EOF
204 using raw connection to peer
210 using raw connection to peer
205 s> GET /?cmd=capabilities HTTP/1.1\r\n
211 s> GET /?cmd=capabilities HTTP/1.1\r\n
206 s> Accept-Encoding: identity\r\n
212 s> Accept-Encoding: identity\r\n
207 s> user-agent: test\r\n
213 s> user-agent: test\r\n
208 s> x-hgproto-1: cbor\r\n
214 s> x-hgproto-1: cbor\r\n
209 s> x-hgupgrade-1: exp-http-v2-0003 foo bar\r\n
215 s> x-hgupgrade-1: exp-http-v2-0003 foo bar\r\n
210 s> host: $LOCALIP:$HGPORT\r\n (glob)
216 s> host: $LOCALIP:$HGPORT\r\n (glob)
211 s> \r\n
217 s> \r\n
212 s> makefile('rb', None)
218 s> makefile('rb', None)
213 s> HTTP/1.1 200 OK\r\n
219 s> HTTP/1.1 200 OK\r\n
214 s> Server: testing stub value\r\n
220 s> Server: testing stub value\r\n
215 s> Date: $HTTP_DATE$\r\n
221 s> Date: $HTTP_DATE$\r\n
216 s> Content-Type: application/mercurial-cbor\r\n
222 s> Content-Type: application/mercurial-cbor\r\n
217 s> Content-Length: *\r\n (glob)
223 s> Content-Length: *\r\n (glob)
218 s> \r\n
224 s> \r\n
219 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0003\xa4Hcommands\xacIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa2Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x83HlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullIfilesdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84NfirstchangesetHlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDdictIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullTrecommendedbatchsize\x19\xc3PEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullTrecommendedbatchsize\x1a\x00\x01\x86\xa0Gpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushPrawstorefiledata\xa2Dargs\xa2Efiles\xa2Hrequired\xf5DtypeDlistJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
225 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0003\xa4Hcommands\xacIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa2Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x83HlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullIfilesdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84NfirstchangesetHlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDdictIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullTrecommendedbatchsize\x19\xc3PEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullTrecommendedbatchsize\x1a\x00\x01\x86\xa0Gpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushPrawstorefiledata\xa2Dargs\xa2Efiles\xa2Hrequired\xf5DtypeDlistJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x83LgeneraldeltaHrevlogv1LsparserevlogNv1capabilitiesY\x01\xe0batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
220 cbor> [
226 cbor> [
221 {
227 {
222 b'apibase': b'api/',
228 b'apibase': b'api/',
223 b'apis': {
229 b'apis': {
224 b'exp-http-v2-0003': {
230 b'exp-http-v2-0003': {
225 b'commands': {
231 b'commands': {
226 b'branchmap': {
232 b'branchmap': {
227 b'args': {},
233 b'args': {},
228 b'permissions': [
234 b'permissions': [
229 b'pull'
235 b'pull'
230 ]
236 ]
231 },
237 },
232 b'capabilities': {
238 b'capabilities': {
233 b'args': {},
239 b'args': {},
234 b'permissions': [
240 b'permissions': [
235 b'pull'
241 b'pull'
236 ]
242 ]
237 },
243 },
238 b'changesetdata': {
244 b'changesetdata': {
239 b'args': {
245 b'args': {
240 b'fields': {
246 b'fields': {
241 b'default': set([]),
247 b'default': set([]),
242 b'required': False,
248 b'required': False,
243 b'type': b'set',
249 b'type': b'set',
244 b'validvalues': set([
250 b'validvalues': set([
245 b'bookmarks',
251 b'bookmarks',
246 b'parents',
252 b'parents',
247 b'phase',
253 b'phase',
248 b'revision'
254 b'revision'
249 ])
255 ])
250 },
256 },
251 b'revisions': {
257 b'revisions': {
252 b'required': True,
258 b'required': True,
253 b'type': b'list'
259 b'type': b'list'
254 }
260 }
255 },
261 },
256 b'permissions': [
262 b'permissions': [
257 b'pull'
263 b'pull'
258 ]
264 ]
259 },
265 },
260 b'filedata': {
266 b'filedata': {
261 b'args': {
267 b'args': {
262 b'fields': {
268 b'fields': {
263 b'default': set([]),
269 b'default': set([]),
264 b'required': False,
270 b'required': False,
265 b'type': b'set',
271 b'type': b'set',
266 b'validvalues': set([
272 b'validvalues': set([
267 b'linknode',
273 b'linknode',
268 b'parents',
274 b'parents',
269 b'revision'
275 b'revision'
270 ])
276 ])
271 },
277 },
272 b'haveparents': {
278 b'haveparents': {
273 b'default': False,
279 b'default': False,
274 b'required': False,
280 b'required': False,
275 b'type': b'bool'
281 b'type': b'bool'
276 },
282 },
277 b'nodes': {
283 b'nodes': {
278 b'required': True,
284 b'required': True,
279 b'type': b'list'
285 b'type': b'list'
280 },
286 },
281 b'path': {
287 b'path': {
282 b'required': True,
288 b'required': True,
283 b'type': b'bytes'
289 b'type': b'bytes'
284 }
290 }
285 },
291 },
286 b'permissions': [
292 b'permissions': [
287 b'pull'
293 b'pull'
288 ]
294 ]
289 },
295 },
290 b'filesdata': {
296 b'filesdata': {
291 b'args': {
297 b'args': {
292 b'fields': {
298 b'fields': {
293 b'default': set([]),
299 b'default': set([]),
294 b'required': False,
300 b'required': False,
295 b'type': b'set',
301 b'type': b'set',
296 b'validvalues': set([
302 b'validvalues': set([
297 b'firstchangeset',
303 b'firstchangeset',
298 b'linknode',
304 b'linknode',
299 b'parents',
305 b'parents',
300 b'revision'
306 b'revision'
301 ])
307 ])
302 },
308 },
303 b'haveparents': {
309 b'haveparents': {
304 b'default': False,
310 b'default': False,
305 b'required': False,
311 b'required': False,
306 b'type': b'bool'
312 b'type': b'bool'
307 },
313 },
308 b'pathfilter': {
314 b'pathfilter': {
309 b'default': None,
315 b'default': None,
310 b'required': False,
316 b'required': False,
311 b'type': b'dict'
317 b'type': b'dict'
312 },
318 },
313 b'revisions': {
319 b'revisions': {
314 b'required': True,
320 b'required': True,
315 b'type': b'list'
321 b'type': b'list'
316 }
322 }
317 },
323 },
318 b'permissions': [
324 b'permissions': [
319 b'pull'
325 b'pull'
320 ],
326 ],
321 b'recommendedbatchsize': 50000
327 b'recommendedbatchsize': 50000
322 },
328 },
323 b'heads': {
329 b'heads': {
324 b'args': {
330 b'args': {
325 b'publiconly': {
331 b'publiconly': {
326 b'default': False,
332 b'default': False,
327 b'required': False,
333 b'required': False,
328 b'type': b'bool'
334 b'type': b'bool'
329 }
335 }
330 },
336 },
331 b'permissions': [
337 b'permissions': [
332 b'pull'
338 b'pull'
333 ]
339 ]
334 },
340 },
335 b'known': {
341 b'known': {
336 b'args': {
342 b'args': {
337 b'nodes': {
343 b'nodes': {
338 b'default': [],
344 b'default': [],
339 b'required': False,
345 b'required': False,
340 b'type': b'list'
346 b'type': b'list'
341 }
347 }
342 },
348 },
343 b'permissions': [
349 b'permissions': [
344 b'pull'
350 b'pull'
345 ]
351 ]
346 },
352 },
347 b'listkeys': {
353 b'listkeys': {
348 b'args': {
354 b'args': {
349 b'namespace': {
355 b'namespace': {
350 b'required': True,
356 b'required': True,
351 b'type': b'bytes'
357 b'type': b'bytes'
352 }
358 }
353 },
359 },
354 b'permissions': [
360 b'permissions': [
355 b'pull'
361 b'pull'
356 ]
362 ]
357 },
363 },
358 b'lookup': {
364 b'lookup': {
359 b'args': {
365 b'args': {
360 b'key': {
366 b'key': {
361 b'required': True,
367 b'required': True,
362 b'type': b'bytes'
368 b'type': b'bytes'
363 }
369 }
364 },
370 },
365 b'permissions': [
371 b'permissions': [
366 b'pull'
372 b'pull'
367 ]
373 ]
368 },
374 },
369 b'manifestdata': {
375 b'manifestdata': {
370 b'args': {
376 b'args': {
371 b'fields': {
377 b'fields': {
372 b'default': set([]),
378 b'default': set([]),
373 b'required': False,
379 b'required': False,
374 b'type': b'set',
380 b'type': b'set',
375 b'validvalues': set([
381 b'validvalues': set([
376 b'parents',
382 b'parents',
377 b'revision'
383 b'revision'
378 ])
384 ])
379 },
385 },
380 b'haveparents': {
386 b'haveparents': {
381 b'default': False,
387 b'default': False,
382 b'required': False,
388 b'required': False,
383 b'type': b'bool'
389 b'type': b'bool'
384 },
390 },
385 b'nodes': {
391 b'nodes': {
386 b'required': True,
392 b'required': True,
387 b'type': b'list'
393 b'type': b'list'
388 },
394 },
389 b'tree': {
395 b'tree': {
390 b'required': True,
396 b'required': True,
391 b'type': b'bytes'
397 b'type': b'bytes'
392 }
398 }
393 },
399 },
394 b'permissions': [
400 b'permissions': [
395 b'pull'
401 b'pull'
396 ],
402 ],
397 b'recommendedbatchsize': 100000
403 b'recommendedbatchsize': 100000
398 },
404 },
399 b'pushkey': {
405 b'pushkey': {
400 b'args': {
406 b'args': {
401 b'key': {
407 b'key': {
402 b'required': True,
408 b'required': True,
403 b'type': b'bytes'
409 b'type': b'bytes'
404 },
410 },
405 b'namespace': {
411 b'namespace': {
406 b'required': True,
412 b'required': True,
407 b'type': b'bytes'
413 b'type': b'bytes'
408 },
414 },
409 b'new': {
415 b'new': {
410 b'required': True,
416 b'required': True,
411 b'type': b'bytes'
417 b'type': b'bytes'
412 },
418 },
413 b'old': {
419 b'old': {
414 b'required': True,
420 b'required': True,
415 b'type': b'bytes'
421 b'type': b'bytes'
416 }
422 }
417 },
423 },
418 b'permissions': [
424 b'permissions': [
419 b'push'
425 b'push'
420 ]
426 ]
421 },
427 },
422 b'rawstorefiledata': {
428 b'rawstorefiledata': {
423 b'args': {
429 b'args': {
424 b'files': {
430 b'files': {
425 b'required': True,
431 b'required': True,
426 b'type': b'list'
432 b'type': b'list'
427 },
433 },
428 b'pathfilter': {
434 b'pathfilter': {
429 b'default': None,
435 b'default': None,
430 b'required': False,
436 b'required': False,
431 b'type': b'list'
437 b'type': b'list'
432 }
438 }
433 },
439 },
434 b'permissions': [
440 b'permissions': [
435 b'pull'
441 b'pull'
436 ]
442 ]
437 }
443 }
438 },
444 },
439 b'framingmediatypes': [
445 b'framingmediatypes': [
440 b'application/mercurial-exp-framing-0006'
446 b'application/mercurial-exp-framing-0006'
441 ],
447 ],
442 b'pathfilterprefixes': set([
448 b'pathfilterprefixes': set([
443 b'path:',
449 b'path:',
444 b'rootfilesin:'
450 b'rootfilesin:'
445 ]),
451 ]),
446 b'rawrepoformats': [
452 b'rawrepoformats': [
447 b'generaldelta',
453 b'generaldelta',
448 b'revlogv1'
454 b'revlogv1',
455 b'sparserevlog'
449 ]
456 ]
450 }
457 }
451 },
458 },
452 b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'
459 b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'
453 }
460 }
454 ]
461 ]
455
462
456 capabilities command returns expected info
463 capabilities command returns expected info
457
464
458 $ sendhttpv2peerhandshake << EOF
465 $ sendhttpv2peerhandshake << EOF
459 > command capabilities
466 > command capabilities
460 > EOF
467 > EOF
461 creating http peer for wire protocol version 2
468 creating http peer for wire protocol version 2
462 s> GET /?cmd=capabilities HTTP/1.1\r\n
469 s> GET /?cmd=capabilities HTTP/1.1\r\n
463 s> Accept-Encoding: identity\r\n
470 s> Accept-Encoding: identity\r\n
464 s> vary: X-HgProto-1,X-HgUpgrade-1\r\n
471 s> vary: X-HgProto-1,X-HgUpgrade-1\r\n
465 s> x-hgproto-1: cbor\r\n
472 s> x-hgproto-1: cbor\r\n
466 s> x-hgupgrade-1: exp-http-v2-0003\r\n
473 s> x-hgupgrade-1: exp-http-v2-0003\r\n
467 s> accept: application/mercurial-0.1\r\n
474 s> accept: application/mercurial-0.1\r\n
468 s> host: $LOCALIP:$HGPORT\r\n (glob)
475 s> host: $LOCALIP:$HGPORT\r\n (glob)
469 s> user-agent: Mercurial debugwireproto\r\n
476 s> user-agent: Mercurial debugwireproto\r\n
470 s> \r\n
477 s> \r\n
471 s> makefile('rb', None)
478 s> makefile('rb', None)
472 s> HTTP/1.1 200 OK\r\n
479 s> HTTP/1.1 200 OK\r\n
473 s> Server: testing stub value\r\n
480 s> Server: testing stub value\r\n
474 s> Date: $HTTP_DATE$\r\n
481 s> Date: $HTTP_DATE$\r\n
475 s> Content-Type: application/mercurial-cbor\r\n
482 s> Content-Type: application/mercurial-cbor\r\n
476 s> Content-Length: *\r\n (glob)
483 s> Content-Length: *\r\n (glob)
477 s> \r\n
484 s> \r\n
478 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0003\xa4Hcommands\xacIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa2Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x83HlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullIfilesdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84NfirstchangesetHlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDdictIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullTrecommendedbatchsize\x19\xc3PEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullTrecommendedbatchsize\x1a\x00\x01\x86\xa0Gpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushPrawstorefiledata\xa2Dargs\xa2Efiles\xa2Hrequired\xf5DtypeDlistJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
485 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0003\xa4Hcommands\xacIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa2Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x83HlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullIfilesdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84NfirstchangesetHlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDdictIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullTrecommendedbatchsize\x19\xc3PEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullTrecommendedbatchsize\x1a\x00\x01\x86\xa0Gpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushPrawstorefiledata\xa2Dargs\xa2Efiles\xa2Hrequired\xf5DtypeDlistJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x83LgeneraldeltaHrevlogv1LsparserevlogNv1capabilitiesY\x01\xe0batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
479 sending capabilities command
486 sending capabilities command
480 s> POST /api/exp-http-v2-0003/ro/capabilities HTTP/1.1\r\n
487 s> POST /api/exp-http-v2-0003/ro/capabilities HTTP/1.1\r\n
481 s> Accept-Encoding: identity\r\n
488 s> Accept-Encoding: identity\r\n
482 s> accept: application/mercurial-exp-framing-0006\r\n
489 s> accept: application/mercurial-exp-framing-0006\r\n
483 s> content-type: application/mercurial-exp-framing-0006\r\n
490 s> content-type: application/mercurial-exp-framing-0006\r\n
484 s> content-length: 63\r\n
491 s> content-length: 63\r\n
485 s> host: $LOCALIP:$HGPORT\r\n (glob)
492 s> host: $LOCALIP:$HGPORT\r\n (glob)
486 s> user-agent: Mercurial debugwireproto\r\n
493 s> user-agent: Mercurial debugwireproto\r\n
487 s> \r\n
494 s> \r\n
488 s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity\x13\x00\x00\x01\x00\x01\x00\x11\xa1DnameLcapabilities
495 s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity\x13\x00\x00\x01\x00\x01\x00\x11\xa1DnameLcapabilities
489 s> makefile('rb', None)
496 s> makefile('rb', None)
490 s> HTTP/1.1 200 OK\r\n
497 s> HTTP/1.1 200 OK\r\n
491 s> Server: testing stub value\r\n
498 s> Server: testing stub value\r\n
492 s> Date: $HTTP_DATE$\r\n
499 s> Date: $HTTP_DATE$\r\n
493 s> Content-Type: application/mercurial-exp-framing-0006\r\n
500 s> Content-Type: application/mercurial-exp-framing-0006\r\n
494 s> Transfer-Encoding: chunked\r\n
501 s> Transfer-Encoding: chunked\r\n
495 s> \r\n
502 s> \r\n
496 s> 11\r\n
503 s> 11\r\n
497 s> \t\x00\x00\x01\x00\x02\x01\x92
504 s> \t\x00\x00\x01\x00\x02\x01\x92
498 s> Hidentity
505 s> Hidentity
499 s> \r\n
506 s> \r\n
500 received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
507 received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
501 s> 13\r\n
508 s> 13\r\n
502 s> \x0b\x00\x00\x01\x00\x02\x041
509 s> \x0b\x00\x00\x01\x00\x02\x041
503 s> \xa1FstatusBok
510 s> \xa1FstatusBok
504 s> \r\n
511 s> \r\n
505 received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
512 received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
506 s> 651\r\n
513 s> 65e\r\n
507 s> I\x06\x00\x01\x00\x02\x041
514 s> V\x06\x00\x01\x00\x02\x041
508 s> \xa4Hcommands\xacIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa2Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x83HlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullIfilesdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84NfirstchangesetHlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDdictIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullTrecommendedbatchsize\x19\xc3PEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullTrecommendedbatchsize\x1a\x00\x01\x86\xa0Gpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushPrawstorefiledata\xa2Dargs\xa2Efiles\xa2Hrequired\xf5DtypeDlistJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1
515 s> \xa4Hcommands\xacIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa2Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x83HlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullIfilesdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84NfirstchangesetHlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDdictIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullTrecommendedbatchsize\x19\xc3PEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullTrecommendedbatchsize\x1a\x00\x01\x86\xa0Gpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushPrawstorefiledata\xa2Dargs\xa2Efiles\xa2Hrequired\xf5DtypeDlistJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x83LgeneraldeltaHrevlogv1Lsparserevlog
509 s> \r\n
516 s> \r\n
510 received frame(size=1609; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
517 received frame(size=1622; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
511 s> 8\r\n
518 s> 8\r\n
512 s> \x00\x00\x00\x01\x00\x02\x002
519 s> \x00\x00\x00\x01\x00\x02\x002
513 s> \r\n
520 s> \r\n
514 s> 0\r\n
521 s> 0\r\n
515 s> \r\n
522 s> \r\n
516 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
523 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
517 response: gen[
524 response: gen[
518 {
525 {
519 b'commands': {
526 b'commands': {
520 b'branchmap': {
527 b'branchmap': {
521 b'args': {},
528 b'args': {},
522 b'permissions': [
529 b'permissions': [
523 b'pull'
530 b'pull'
524 ]
531 ]
525 },
532 },
526 b'capabilities': {
533 b'capabilities': {
527 b'args': {},
534 b'args': {},
528 b'permissions': [
535 b'permissions': [
529 b'pull'
536 b'pull'
530 ]
537 ]
531 },
538 },
532 b'changesetdata': {
539 b'changesetdata': {
533 b'args': {
540 b'args': {
534 b'fields': {
541 b'fields': {
535 b'default': set([]),
542 b'default': set([]),
536 b'required': False,
543 b'required': False,
537 b'type': b'set',
544 b'type': b'set',
538 b'validvalues': set([
545 b'validvalues': set([
539 b'bookmarks',
546 b'bookmarks',
540 b'parents',
547 b'parents',
541 b'phase',
548 b'phase',
542 b'revision'
549 b'revision'
543 ])
550 ])
544 },
551 },
545 b'revisions': {
552 b'revisions': {
546 b'required': True,
553 b'required': True,
547 b'type': b'list'
554 b'type': b'list'
548 }
555 }
549 },
556 },
550 b'permissions': [
557 b'permissions': [
551 b'pull'
558 b'pull'
552 ]
559 ]
553 },
560 },
554 b'filedata': {
561 b'filedata': {
555 b'args': {
562 b'args': {
556 b'fields': {
563 b'fields': {
557 b'default': set([]),
564 b'default': set([]),
558 b'required': False,
565 b'required': False,
559 b'type': b'set',
566 b'type': b'set',
560 b'validvalues': set([
567 b'validvalues': set([
561 b'linknode',
568 b'linknode',
562 b'parents',
569 b'parents',
563 b'revision'
570 b'revision'
564 ])
571 ])
565 },
572 },
566 b'haveparents': {
573 b'haveparents': {
567 b'default': False,
574 b'default': False,
568 b'required': False,
575 b'required': False,
569 b'type': b'bool'
576 b'type': b'bool'
570 },
577 },
571 b'nodes': {
578 b'nodes': {
572 b'required': True,
579 b'required': True,
573 b'type': b'list'
580 b'type': b'list'
574 },
581 },
575 b'path': {
582 b'path': {
576 b'required': True,
583 b'required': True,
577 b'type': b'bytes'
584 b'type': b'bytes'
578 }
585 }
579 },
586 },
580 b'permissions': [
587 b'permissions': [
581 b'pull'
588 b'pull'
582 ]
589 ]
583 },
590 },
584 b'filesdata': {
591 b'filesdata': {
585 b'args': {
592 b'args': {
586 b'fields': {
593 b'fields': {
587 b'default': set([]),
594 b'default': set([]),
588 b'required': False,
595 b'required': False,
589 b'type': b'set',
596 b'type': b'set',
590 b'validvalues': set([
597 b'validvalues': set([
591 b'firstchangeset',
598 b'firstchangeset',
592 b'linknode',
599 b'linknode',
593 b'parents',
600 b'parents',
594 b'revision'
601 b'revision'
595 ])
602 ])
596 },
603 },
597 b'haveparents': {
604 b'haveparents': {
598 b'default': False,
605 b'default': False,
599 b'required': False,
606 b'required': False,
600 b'type': b'bool'
607 b'type': b'bool'
601 },
608 },
602 b'pathfilter': {
609 b'pathfilter': {
603 b'default': None,
610 b'default': None,
604 b'required': False,
611 b'required': False,
605 b'type': b'dict'
612 b'type': b'dict'
606 },
613 },
607 b'revisions': {
614 b'revisions': {
608 b'required': True,
615 b'required': True,
609 b'type': b'list'
616 b'type': b'list'
610 }
617 }
611 },
618 },
612 b'permissions': [
619 b'permissions': [
613 b'pull'
620 b'pull'
614 ],
621 ],
615 b'recommendedbatchsize': 50000
622 b'recommendedbatchsize': 50000
616 },
623 },
617 b'heads': {
624 b'heads': {
618 b'args': {
625 b'args': {
619 b'publiconly': {
626 b'publiconly': {
620 b'default': False,
627 b'default': False,
621 b'required': False,
628 b'required': False,
622 b'type': b'bool'
629 b'type': b'bool'
623 }
630 }
624 },
631 },
625 b'permissions': [
632 b'permissions': [
626 b'pull'
633 b'pull'
627 ]
634 ]
628 },
635 },
629 b'known': {
636 b'known': {
630 b'args': {
637 b'args': {
631 b'nodes': {
638 b'nodes': {
632 b'default': [],
639 b'default': [],
633 b'required': False,
640 b'required': False,
634 b'type': b'list'
641 b'type': b'list'
635 }
642 }
636 },
643 },
637 b'permissions': [
644 b'permissions': [
638 b'pull'
645 b'pull'
639 ]
646 ]
640 },
647 },
641 b'listkeys': {
648 b'listkeys': {
642 b'args': {
649 b'args': {
643 b'namespace': {
650 b'namespace': {
644 b'required': True,
651 b'required': True,
645 b'type': b'bytes'
652 b'type': b'bytes'
646 }
653 }
647 },
654 },
648 b'permissions': [
655 b'permissions': [
649 b'pull'
656 b'pull'
650 ]
657 ]
651 },
658 },
652 b'lookup': {
659 b'lookup': {
653 b'args': {
660 b'args': {
654 b'key': {
661 b'key': {
655 b'required': True,
662 b'required': True,
656 b'type': b'bytes'
663 b'type': b'bytes'
657 }
664 }
658 },
665 },
659 b'permissions': [
666 b'permissions': [
660 b'pull'
667 b'pull'
661 ]
668 ]
662 },
669 },
663 b'manifestdata': {
670 b'manifestdata': {
664 b'args': {
671 b'args': {
665 b'fields': {
672 b'fields': {
666 b'default': set([]),
673 b'default': set([]),
667 b'required': False,
674 b'required': False,
668 b'type': b'set',
675 b'type': b'set',
669 b'validvalues': set([
676 b'validvalues': set([
670 b'parents',
677 b'parents',
671 b'revision'
678 b'revision'
672 ])
679 ])
673 },
680 },
674 b'haveparents': {
681 b'haveparents': {
675 b'default': False,
682 b'default': False,
676 b'required': False,
683 b'required': False,
677 b'type': b'bool'
684 b'type': b'bool'
678 },
685 },
679 b'nodes': {
686 b'nodes': {
680 b'required': True,
687 b'required': True,
681 b'type': b'list'
688 b'type': b'list'
682 },
689 },
683 b'tree': {
690 b'tree': {
684 b'required': True,
691 b'required': True,
685 b'type': b'bytes'
692 b'type': b'bytes'
686 }
693 }
687 },
694 },
688 b'permissions': [
695 b'permissions': [
689 b'pull'
696 b'pull'
690 ],
697 ],
691 b'recommendedbatchsize': 100000
698 b'recommendedbatchsize': 100000
692 },
699 },
693 b'pushkey': {
700 b'pushkey': {
694 b'args': {
701 b'args': {
695 b'key': {
702 b'key': {
696 b'required': True,
703 b'required': True,
697 b'type': b'bytes'
704 b'type': b'bytes'
698 },
705 },
699 b'namespace': {
706 b'namespace': {
700 b'required': True,
707 b'required': True,
701 b'type': b'bytes'
708 b'type': b'bytes'
702 },
709 },
703 b'new': {
710 b'new': {
704 b'required': True,
711 b'required': True,
705 b'type': b'bytes'
712 b'type': b'bytes'
706 },
713 },
707 b'old': {
714 b'old': {
708 b'required': True,
715 b'required': True,
709 b'type': b'bytes'
716 b'type': b'bytes'
710 }
717 }
711 },
718 },
712 b'permissions': [
719 b'permissions': [
713 b'push'
720 b'push'
714 ]
721 ]
715 },
722 },
716 b'rawstorefiledata': {
723 b'rawstorefiledata': {
717 b'args': {
724 b'args': {
718 b'files': {
725 b'files': {
719 b'required': True,
726 b'required': True,
720 b'type': b'list'
727 b'type': b'list'
721 },
728 },
722 b'pathfilter': {
729 b'pathfilter': {
723 b'default': None,
730 b'default': None,
724 b'required': False,
731 b'required': False,
725 b'type': b'list'
732 b'type': b'list'
726 }
733 }
727 },
734 },
728 b'permissions': [
735 b'permissions': [
729 b'pull'
736 b'pull'
730 ]
737 ]
731 }
738 }
732 },
739 },
733 b'framingmediatypes': [
740 b'framingmediatypes': [
734 b'application/mercurial-exp-framing-0006'
741 b'application/mercurial-exp-framing-0006'
735 ],
742 ],
736 b'pathfilterprefixes': set([
743 b'pathfilterprefixes': set([
737 b'path:',
744 b'path:',
738 b'rootfilesin:'
745 b'rootfilesin:'
739 ]),
746 ]),
740 b'rawrepoformats': [
747 b'rawrepoformats': [
741 b'generaldelta',
748 b'generaldelta',
742 b'revlogv1'
749 b'revlogv1',
750 b'sparserevlog'
743 ]
751 ]
744 }
752 }
745 ]
753 ]
746 (sent 2 HTTP requests and * bytes; received * bytes in responses) (glob)
754 (sent 2 HTTP requests and * bytes; received * bytes in responses) (glob)
747
755
748 $ cat error.log
756 $ cat error.log
General Comments 0
You need to be logged in to leave comments. Login now