##// END OF EJS Templates
wireprotov2: allow multiple fields to follow revision maps...
Gregory Szorc -
r39839:d059cb66 default
parent child Browse files
Show More
@@ -167,11 +167,16 b' def _processchangesetdata(repo, tr, objs'
167 # TODO add mechanism for extensions to examine records so they
167 # TODO add mechanism for extensions to examine records so they
168 # can siphon off custom data fields.
168 # can siphon off custom data fields.
169
169
170 extrafields = {}
171
172 for field, size in cset.get(b'fieldsfollowing', []):
173 extrafields[field] = next(objs)
174
170 # Some entries might only be metadata only updates.
175 # Some entries might only be metadata only updates.
171 if b'revisionsize' not in cset:
176 if b'revision' not in extrafields:
172 continue
177 continue
173
178
174 data = next(objs)
179 data = extrafields[b'revision']
175
180
176 yield (
181 yield (
177 node,
182 node,
@@ -227,12 +232,17 b' def _fetchmanifests(repo, tr, remote, ma'
227 for manifest in objs:
232 for manifest in objs:
228 node = manifest[b'node']
233 node = manifest[b'node']
229
234
230 if b'deltasize' in manifest:
235 extrafields = {}
236
237 for field, size in manifest.get(b'fieldsfollowing', []):
238 extrafields[field] = next(objs)
239
240 if b'delta' in extrafields:
231 basenode = manifest[b'deltabasenode']
241 basenode = manifest[b'deltabasenode']
232 delta = next(objs)
242 delta = extrafields[b'delta']
233 elif b'revisionsize' in manifest:
243 elif b'revision' in extrafields:
234 basenode = nullid
244 basenode = nullid
235 revision = next(objs)
245 revision = extrafields[b'revision']
236 delta = mdiff.trivialdiffheader(len(revision)) + revision
246 delta = mdiff.trivialdiffheader(len(revision)) + revision
237 else:
247 else:
238 continue
248 continue
@@ -331,12 +341,17 b' def _fetchfiles(repo, tr, remote, fnodes'
331 for filerevision in objs:
341 for filerevision in objs:
332 node = filerevision[b'node']
342 node = filerevision[b'node']
333
343
334 if b'deltasize' in filerevision:
344 extrafields = {}
345
346 for field, size in filerevision.get(b'fieldsfollowing', []):
347 extrafields[field] = next(objs)
348
349 if b'delta' in extrafields:
335 basenode = filerevision[b'deltabasenode']
350 basenode = filerevision[b'deltabasenode']
336 delta = next(objs)
351 delta = extrafields[b'delta']
337 elif b'revisionsize' in filerevision:
352 elif b'revision' in extrafields:
338 basenode = nullid
353 basenode = nullid
339 revision = next(objs)
354 revision = extrafields[b'revision']
340 delta = mdiff.trivialdiffheader(len(revision)) + revision
355 delta = mdiff.trivialdiffheader(len(revision)) + revision
341 else:
356 else:
342 continue
357 continue
@@ -161,11 +161,17 b' totalitems'
161
161
162 Following the map header is a series of 0 or more CBOR values. If values
162 Following the map header is a series of 0 or more CBOR values. If values
163 are present, the first value will always be a map describing a single changeset
163 are present, the first value will always be a map describing a single changeset
164 revision. If revision data is requested, the raw revision data (encoded as
164 revision.
165 a CBOR bytestring) will follow the map describing it. Otherwise, another CBOR
166 map describing the next changeset revision will occur.
167
165
168 Each map has the following bytestring keys:
166 If the ``fieldsfollowing`` key is present, the map will immediately be followed
167 by N CBOR bytestring values, where N is the number of elements in
168 ``fieldsfollowing``. Each bytestring value corresponds to a field denoted
169 by ``fieldsfollowing``.
170
171 Following the optional bytestring field values is the next revision descriptor
172 map, or end of stream.
173
174 Each revision descriptor map has the following bytestring keys:
169
175
170 node
176 node
171 (bytestring) The node value for this revision. This is the SHA-1 hash of
177 (bytestring) The node value for this revision. This is the SHA-1 hash of
@@ -176,6 +182,22 b' bookmarks (optional)'
176 if ``bookmarks`` data is being requested and the revision has bookmarks
182 if ``bookmarks`` data is being requested and the revision has bookmarks
177 attached.
183 attached.
178
184
185 fieldsfollowing (optional)
186 (array of 2-array) Denotes what fields immediately follow this map. Each
187 value is an array with 2 elements: the bytestring field name and an unsigned
188 integer describing the length of the data, in bytes.
189
190 If this key isn't present, no special fields will follow this map.
191
192 The following fields may be present:
193
194 revision
195 Raw, revision data for the changelog entry. Contains a serialized form
196 of the changeset data, including the author, date, commit message, set
197 of changed files, manifest node, and other metadata.
198
199 Only present if the ``revision`` field was requested.
200
179 parents (optional)
201 parents (optional)
180 (array of bytestrings) The nodes representing the parent revisions of this
202 (array of bytestrings) The nodes representing the parent revisions of this
181 revision. Only present if ``parents`` data is being requested.
203 revision. Only present if ``parents`` data is being requested.
@@ -185,15 +207,6 b' phase (optional)'
185 ``secret``, ``draft``, and ``public``. Only present if ``phase`` data
207 ``secret``, ``draft``, and ``public``. Only present if ``phase`` data
186 is being requested.
208 is being requested.
187
209
188 revisionsize (optional)
189 (unsigned integer) Indicates the size of raw revision data that follows this
190 map. The following data contains a serialized form of the changeset data,
191 including the author, date, commit message, set of changed files, manifest
192 node, and other metadata.
193
194 Only present if ``revision`` data was requested and the data follows this
195 map.
196
197 If nodes are requested via ``noderange``, they will be emitted in DAG order,
210 If nodes are requested via ``noderange``, they will be emitted in DAG order,
198 parents always before children.
211 parents always before children.
199
212
@@ -261,11 +274,19 b' totalitems'
261 (unsigned integer) Total number of file revisions whose data is
274 (unsigned integer) Total number of file revisions whose data is
262 being returned.
275 being returned.
263
276
264 Following the header map is a series of 0 or more CBOR values. The first
277 Following the map header is a series of 0 or more CBOR values. If values
265 value is always a map describing a file revision. If this map has the
278 are present, the first value will always be a map describing a single changeset
266 ``deltasize`` or ``revisionsize`` keys, a bytestring containing the delta
279 revision.
267 or revision, respectively, will immediately follow the map. Otherwise
280
268 the next value will be a map describing the next file revision.
281 If the ``fieldsfollowing`` key is present, the map will immediately be followed
282 by N CBOR bytestring values, where N is the number of elements in
283 ``fieldsfollowing``. Each bytestring value corresponds to a field denoted
284 by ``fieldsfollowing``.
285
286 Following the optional bytestring field values is the next revision descriptor
287 map, or end of stream.
288
289 Each revision descriptor map has the following bytestring keys:
269
290
270 Each map has the following bytestring keys:
291 Each map has the following bytestring keys:
271
292
@@ -278,28 +299,32 b' deltabasenode'
278 Only present if the ``revision`` field is requested and delta data
299 Only present if the ``revision`` field is requested and delta data
279 follows this map.
300 follows this map.
280
301
281 deltasize
302 fieldsfollowing
282 (unsigned integer) The size of the delta data that follows this map.
303 (array of 2-array) Denotes extra bytestring fields that following this map.
304 See the documentation for ``changesetdata`` for semantics.
305
306 The following named fields may be present:
283
307
284 Only present if the ``revision`` field is requested and delta data
308 ``delta``
285 follows this map.
309 The delta data to use to construct the fulltext revision.
310
311 Only present if the ``revision`` field is requested and a delta is
312 being emitted. The ``deltabasenode`` top-level key will also be
313 present if this field is being emitted.
314
315 ``revision``
316 The fulltext revision data for this manifest. Only present if the
317 ``revision`` field is requested and a fulltext revision is being emitted.
286
318
287 parents
319 parents
288 (array of bytestring) The nodes of the parents of this file revision.
320 (array of bytestring) The nodes of the parents of this file revision.
289
321
290 Only present if the ``parents`` field is requested.
322 Only present if the ``parents`` field is requested.
291
323
292 revisionsize
293 (unsigned integer) The size of the fulltext revision data that follows
294 this map.
295
296 Only present if the ``revision`` field is requested and fulltext revision
297 data follows this map.
298
299 When ``revision`` data is requested, the server chooses to emit either fulltext
324 When ``revision`` data is requested, the server chooses to emit either fulltext
300 revision data or a delta. What the server decides can be inferred by looking
325 revision data or a delta. What the server decides can be inferred by looking
301 for the presence of the ``deltasize`` or ``revisionsize`` keys in the map.
326 for the presence of the ``delta`` or ``revision`` keys in the
302 Servers MUST NOT define both keys.
327 ``fieldsfollowing`` array.
303
328
304 heads
329 heads
305 -----
330 -----
@@ -409,13 +434,19 b' totalitems'
409 (unsigned integer) Total number of manifest revisions whose data is
434 (unsigned integer) Total number of manifest revisions whose data is
410 being returned.
435 being returned.
411
436
412 Following the header map is a series of 0 or more CBOR values. The first
437 Following the map header is a series of 0 or more CBOR values. If values
413 value is always a map describing a manifest revision. If this map has the
438 are present, the first value will always be a map describing a single manifest
414 ``deltasize`` or ``revisionsize`` keys, a bytestring containing the delta
439 revision.
415 or revision, respectively, will immediately follow the map. Otherwise
416 the next value will be a map describing the next manifest revision.
417
440
418 Each map has the following bytestring keys:
441 If the ``fieldsfollowing`` key is present, the map will immediately be followed
442 by N CBOR bytestring values, where N is the number of elements in
443 ``fieldsfollowing``. Each bytestring value corresponds to a field denoted
444 by ``fieldsfollowing``.
445
446 Following the optional bytestring field values is the next revision descriptor
447 map, or end of stream.
448
449 Each revision descriptor map has the following bytestring keys:
419
450
420 node
451 node
421 (bytestring) The node of the manifest revision whose data is represented.
452 (bytestring) The node of the manifest revision whose data is represented.
@@ -425,24 +456,30 b' deltabasenode'
425 computed against. Only present if the ``revision`` field is requested and
456 computed against. Only present if the ``revision`` field is requested and
426 a delta is being emitted.
457 a delta is being emitted.
427
458
428 deltasize
459 fieldsfollowing
429 (unsigned integer) The size of the delta data that follows this map.
460 (array of 2-array) Denotes extra bytestring fields that following this map.
430 Only present if the ``revision`` field is requested and a delta is
461 See the documentation for ``changesetdata`` for semantics.
431 being emitted.
462
463 The following named fields may be present:
464
465 ``delta``
466 The delta data to use to construct the fulltext revision.
467
468 Only present if the ``revision`` field is requested and a delta is
469 being emitted. The ``deltabasenode`` top-level key will also be
470 present if this field is being emitted.
471
472 ``revision``
473 The fulltext revision data for this manifest. Only present if the
474 ``revision`` field is requested and a fulltext revision is being emitted.
432
475
433 parents
476 parents
434 (array of bytestring) The nodes of the parents of this manifest revision.
477 (array of bytestring) The nodes of the parents of this manifest revision.
435 Only present if the ``parents`` field is requested.
478 Only present if the ``parents`` field is requested.
436
479
437 revisionsize
438 (unsigned integer) The size of the fulltext revision data that follows
439 this map. Only present if the ``revision`` field is requested and a fulltext
440 revision is being emitted.
441
442 When ``revision`` data is requested, the server chooses to emit either fulltext
480 When ``revision`` data is requested, the server chooses to emit either fulltext
443 revision data or a delta. What the server decides can be inferred by looking
481 revision data or a delta. What the server decides can be inferred by looking
444 for the presence of the ``deltasize`` or ``revisionsize`` keys in the map.
482 for the presence of ``delta`` or ``revision`` in the ``fieldsfollowing`` array.
445 Servers MUST NOT define both keys.
446
483
447 pushkey
484 pushkey
448 -------
485 -------
@@ -22,8 +22,8 b' from .utils import ('
22 SSHV1 = 'ssh-v1'
22 SSHV1 = 'ssh-v1'
23 # These are advertised over the wire. Increment the counters at the end
23 # These are advertised over the wire. Increment the counters at the end
24 # to reflect BC breakages.
24 # to reflect BC breakages.
25 SSHV2 = 'exp-ssh-v2-0001'
25 SSHV2 = 'exp-ssh-v2-0002'
26 HTTP_WIREPROTO_V2 = 'exp-http-v2-0001'
26 HTTP_WIREPROTO_V2 = 'exp-http-v2-0002'
27
27
28 # All available wire protocol transports.
28 # All available wire protocol transports.
29 TRANSPORTS = {
29 TRANSPORTS = {
@@ -752,19 +752,24 b' def changesetdata(repo, proto, noderange'
752 d[b'bookmarks'] = sorted(nodebookmarks[node])
752 d[b'bookmarks'] = sorted(nodebookmarks[node])
753 del nodebookmarks[node]
753 del nodebookmarks[node]
754
754
755 revisiondata = None
755 followingmeta = []
756 followingdata = []
756
757
757 if b'revision' in fields:
758 if b'revision' in fields:
758 revisiondata = cl.revision(node, raw=True)
759 revisiondata = cl.revision(node, raw=True)
759 d[b'revisionsize'] = len(revisiondata)
760 followingmeta.append((b'revision', len(revisiondata)))
761 followingdata.append(revisiondata)
760
762
761 # TODO make it possible for extensions to wrap a function or register
763 # TODO make it possible for extensions to wrap a function or register
762 # a handler to service custom fields.
764 # a handler to service custom fields.
763
765
766 if followingmeta:
767 d[b'fieldsfollowing'] = followingmeta
768
764 yield d
769 yield d
765
770
766 if revisiondata is not None:
771 for extra in followingdata:
767 yield revisiondata
772 yield extra
768
773
769 # If requested, send bookmarks from nodes that didn't have revision
774 # If requested, send bookmarks from nodes that didn't have revision
770 # data sent so receiver is aware of any bookmark updates.
775 # data sent so receiver is aware of any bookmark updates.
@@ -865,25 +870,29 b' def filedata(repo, proto, haveparents, n'
865 if b'parents' in fields:
870 if b'parents' in fields:
866 d[b'parents'] = store.parents(node)
871 d[b'parents'] = store.parents(node)
867
872
873 followingmeta = []
874 followingdata = []
875
868 if b'revision' in fields:
876 if b'revision' in fields:
869 assert delta is not None
877 assert delta is not None
870 assert delta.flags == 0
878 assert delta.flags == 0
871 assert d[b'node'] == delta.node
879 assert d[b'node'] == delta.node
872
880
873 if delta.revision is not None:
881 if delta.revision is not None:
874 revisiondata = delta.revision
882 followingmeta.append((b'revision', len(delta.revision)))
875 d[b'revisionsize'] = len(revisiondata)
883 followingdata.append(delta.revision)
876 else:
884 else:
877 d[b'deltabasenode'] = delta.basenode
885 d[b'deltabasenode'] = delta.basenode
878 revisiondata = delta.delta
886 followingmeta.append((b'delta', len(delta.delta)))
879 d[b'deltasize'] = len(revisiondata)
887 followingdata.append(delta.delta)
880 else:
888
881 revisiondata = None
889 if followingmeta:
890 d[b'fieldsfollowing'] = followingmeta
882
891
883 yield d
892 yield d
884
893
885 if revisiondata is not None:
894 for extra in followingdata:
886 yield revisiondata
895 yield extra
887
896
888 if deltas is not None:
897 if deltas is not None:
889 try:
898 try:
@@ -1020,25 +1029,29 b' def manifestdata(repo, proto, haveparent'
1020 if b'parents' in fields:
1029 if b'parents' in fields:
1021 d[b'parents'] = store.parents(node)
1030 d[b'parents'] = store.parents(node)
1022
1031
1032 followingmeta = []
1033 followingdata = []
1034
1023 if b'revision' in fields:
1035 if b'revision' in fields:
1024 assert delta is not None
1036 assert delta is not None
1025 assert delta.flags == 0
1037 assert delta.flags == 0
1026 assert d[b'node'] == delta.node
1038 assert d[b'node'] == delta.node
1027
1039
1028 if delta.revision is not None:
1040 if delta.revision is not None:
1029 revisiondata = delta.revision
1041 followingmeta.append((b'revision', len(delta.revision)))
1030 d[b'revisionsize'] = len(revisiondata)
1042 followingdata.append(delta.revision)
1031 else:
1043 else:
1032 d[b'deltabasenode'] = delta.basenode
1044 d[b'deltabasenode'] = delta.basenode
1033 revisiondata = delta.delta
1045 followingmeta.append((b'delta', len(delta.delta)))
1034 d[b'deltasize'] = len(revisiondata)
1046 followingdata.append(delta.delta)
1035 else:
1047
1036 revisiondata = None
1048 if followingmeta:
1049 d[b'fieldsfollowing'] = followingmeta
1037
1050
1038 yield d
1051 yield d
1039
1052
1040 if revisiondata is not None:
1053 for extra in followingdata:
1041 yield revisiondata
1054 yield extra
1042
1055
1043 if deltas is not None:
1056 if deltas is not None:
1044 try:
1057 try:
@@ -1177,14 +1177,14 b' SEC: check for unsafe ssh url'
1177 #if windows
1177 #if windows
1178 $ hg clone "ssh://%26touch%20owned%20/" --debug
1178 $ hg clone "ssh://%26touch%20owned%20/" --debug
1179 running sh -c "read l; read l; read l" "&touch owned " "hg -R . serve --stdio"
1179 running sh -c "read l; read l; read l" "&touch owned " "hg -R . serve --stdio"
1180 sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !)
1180 sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !)
1181 sending hello command
1181 sending hello command
1182 sending between command
1182 sending between command
1183 abort: no suitable response from remote hg!
1183 abort: no suitable response from remote hg!
1184 [255]
1184 [255]
1185 $ hg clone "ssh://example.com:%26touch%20owned%20/" --debug
1185 $ hg clone "ssh://example.com:%26touch%20owned%20/" --debug
1186 running sh -c "read l; read l; read l" -p "&touch owned " example.com "hg -R . serve --stdio"
1186 running sh -c "read l; read l; read l" -p "&touch owned " example.com "hg -R . serve --stdio"
1187 sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !)
1187 sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !)
1188 sending hello command
1188 sending hello command
1189 sending between command
1189 sending between command
1190 abort: no suitable response from remote hg!
1190 abort: no suitable response from remote hg!
@@ -1192,14 +1192,14 b' SEC: check for unsafe ssh url'
1192 #else
1192 #else
1193 $ hg clone "ssh://%3btouch%20owned%20/" --debug
1193 $ hg clone "ssh://%3btouch%20owned%20/" --debug
1194 running sh -c "read l; read l; read l" ';touch owned ' 'hg -R . serve --stdio'
1194 running sh -c "read l; read l; read l" ';touch owned ' 'hg -R . serve --stdio'
1195 sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !)
1195 sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !)
1196 sending hello command
1196 sending hello command
1197 sending between command
1197 sending between command
1198 abort: no suitable response from remote hg!
1198 abort: no suitable response from remote hg!
1199 [255]
1199 [255]
1200 $ hg clone "ssh://example.com:%3btouch%20owned%20/" --debug
1200 $ hg clone "ssh://example.com:%3btouch%20owned%20/" --debug
1201 running sh -c "read l; read l; read l" -p ';touch owned ' example.com 'hg -R . serve --stdio'
1201 running sh -c "read l; read l; read l" -p ';touch owned ' example.com 'hg -R . serve --stdio'
1202 sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !)
1202 sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !)
1203 sending hello command
1203 sending hello command
1204 sending between command
1204 sending between command
1205 abort: no suitable response from remote hg!
1205 abort: no suitable response from remote hg!
@@ -1208,7 +1208,7 b' SEC: check for unsafe ssh url'
1208
1208
1209 $ hg clone "ssh://v-alid.example.com/" --debug
1209 $ hg clone "ssh://v-alid.example.com/" --debug
1210 running sh -c "read l; read l; read l" v-alid\.example\.com ['"]hg -R \. serve --stdio['"] (re)
1210 running sh -c "read l; read l; read l" v-alid\.example\.com ['"]hg -R \. serve --stdio['"] (re)
1211 sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !)
1211 sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !)
1212 sending hello command
1212 sending hello command
1213 sending between command
1213 sending between command
1214 abort: no suitable response from remote hg!
1214 abort: no suitable response from remote hg!
@@ -18,7 +18,7 b' HTTP v2 protocol not enabled by default'
18 > user-agent: test
18 > user-agent: test
19 > EOF
19 > EOF
20 using raw connection to peer
20 using raw connection to peer
21 s> GET /api/exp-http-v2-0001 HTTP/1.1\r\n
21 s> GET /api/exp-http-v2-0002 HTTP/1.1\r\n
22 s> Accept-Encoding: identity\r\n
22 s> Accept-Encoding: identity\r\n
23 s> user-agent: test\r\n
23 s> user-agent: test\r\n
24 s> host: $LOCALIP:$HGPORT\r\n (glob)
24 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -30,7 +30,7 b' HTTP v2 protocol not enabled by default'
30 s> Content-Type: text/plain\r\n
30 s> Content-Type: text/plain\r\n
31 s> Content-Length: 33\r\n
31 s> Content-Length: 33\r\n
32 s> \r\n
32 s> \r\n
33 s> API exp-http-v2-0001 not enabled\n
33 s> API exp-http-v2-0002 not enabled\n
34
34
35 Restart server with support for HTTP v2 API
35 Restart server with support for HTTP v2 API
36
36
@@ -46,7 +46,7 b' Request to unknown command yields 404'
46 > user-agent: test
46 > user-agent: test
47 > EOF
47 > EOF
48 using raw connection to peer
48 using raw connection to peer
49 s> POST /api/exp-http-v2-0001/ro/badcommand HTTP/1.1\r\n
49 s> POST /api/exp-http-v2-0002/ro/badcommand HTTP/1.1\r\n
50 s> Accept-Encoding: identity\r\n
50 s> Accept-Encoding: identity\r\n
51 s> user-agent: test\r\n
51 s> user-agent: test\r\n
52 s> host: $LOCALIP:$HGPORT\r\n (glob)
52 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -67,7 +67,7 b' GET to read-only command yields a 405'
67 > user-agent: test
67 > user-agent: test
68 > EOF
68 > EOF
69 using raw connection to peer
69 using raw connection to peer
70 s> GET /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n
70 s> GET /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
71 s> Accept-Encoding: identity\r\n
71 s> Accept-Encoding: identity\r\n
72 s> user-agent: test\r\n
72 s> user-agent: test\r\n
73 s> host: $LOCALIP:$HGPORT\r\n (glob)
73 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -88,7 +88,7 b' Missing Accept header results in 406'
88 > user-agent: test
88 > user-agent: test
89 > EOF
89 > EOF
90 using raw connection to peer
90 using raw connection to peer
91 s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n
91 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
92 s> Accept-Encoding: identity\r\n
92 s> Accept-Encoding: identity\r\n
93 s> user-agent: test\r\n
93 s> user-agent: test\r\n
94 s> host: $LOCALIP:$HGPORT\r\n (glob)
94 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -110,7 +110,7 b' Bad Accept header results in 406'
110 > user-agent: test
110 > user-agent: test
111 > EOF
111 > EOF
112 using raw connection to peer
112 using raw connection to peer
113 s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n
113 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
114 s> Accept-Encoding: identity\r\n
114 s> Accept-Encoding: identity\r\n
115 s> accept: invalid\r\n
115 s> accept: invalid\r\n
116 s> user-agent: test\r\n
116 s> user-agent: test\r\n
@@ -134,7 +134,7 b' Bad Content-Type header results in 415'
134 > content-type: badmedia
134 > content-type: badmedia
135 > EOF
135 > EOF
136 using raw connection to peer
136 using raw connection to peer
137 s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n
137 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
138 s> Accept-Encoding: identity\r\n
138 s> Accept-Encoding: identity\r\n
139 s> accept: application/mercurial-exp-framing-0005\r\n
139 s> accept: application/mercurial-exp-framing-0005\r\n
140 s> content-type: badmedia\r\n
140 s> content-type: badmedia\r\n
@@ -160,7 +160,7 b' Request to read-only command works out o'
160 > frame 1 1 stream-begin command-request new cbor:{b'name': b'customreadonly'}
160 > frame 1 1 stream-begin command-request new cbor:{b'name': b'customreadonly'}
161 > EOF
161 > EOF
162 using raw connection to peer
162 using raw connection to peer
163 s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n
163 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
164 s> Accept-Encoding: identity\r\n
164 s> Accept-Encoding: identity\r\n
165 s> *\r\n (glob)
165 s> *\r\n (glob)
166 s> content-type: application/mercurial-exp-framing-0005\r\n
166 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -193,7 +193,7 b' Request to read-only command works out o'
193 > EOF
193 > EOF
194 creating http peer for wire protocol version 2
194 creating http peer for wire protocol version 2
195 sending customreadonly command
195 sending customreadonly command
196 s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n
196 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
197 s> Accept-Encoding: identity\r\n
197 s> Accept-Encoding: identity\r\n
198 s> accept: application/mercurial-exp-framing-0005\r\n
198 s> accept: application/mercurial-exp-framing-0005\r\n
199 s> content-type: application/mercurial-exp-framing-0005\r\n
199 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -238,7 +238,7 b' GET to read-write request yields 405'
238 > user-agent: test
238 > user-agent: test
239 > EOF
239 > EOF
240 using raw connection to peer
240 using raw connection to peer
241 s> GET /api/exp-http-v2-0001/rw/customreadonly HTTP/1.1\r\n
241 s> GET /api/exp-http-v2-0002/rw/customreadonly HTTP/1.1\r\n
242 s> Accept-Encoding: identity\r\n
242 s> Accept-Encoding: identity\r\n
243 s> user-agent: test\r\n
243 s> user-agent: test\r\n
244 s> host: $LOCALIP:$HGPORT\r\n (glob)
244 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -259,7 +259,7 b' Even for unknown commands'
259 > user-agent: test
259 > user-agent: test
260 > EOF
260 > EOF
261 using raw connection to peer
261 using raw connection to peer
262 s> GET /api/exp-http-v2-0001/rw/badcommand HTTP/1.1\r\n
262 s> GET /api/exp-http-v2-0002/rw/badcommand HTTP/1.1\r\n
263 s> Accept-Encoding: identity\r\n
263 s> Accept-Encoding: identity\r\n
264 s> user-agent: test\r\n
264 s> user-agent: test\r\n
265 s> host: $LOCALIP:$HGPORT\r\n (glob)
265 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -280,7 +280,7 b' SSL required by default'
280 > user-agent: test
280 > user-agent: test
281 > EOF
281 > EOF
282 using raw connection to peer
282 using raw connection to peer
283 s> POST /api/exp-http-v2-0001/rw/customreadonly HTTP/1.1\r\n
283 s> POST /api/exp-http-v2-0002/rw/customreadonly HTTP/1.1\r\n
284 s> Accept-Encoding: identity\r\n
284 s> Accept-Encoding: identity\r\n
285 s> user-agent: test\r\n
285 s> user-agent: test\r\n
286 s> host: $LOCALIP:$HGPORT\r\n (glob)
286 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -318,7 +318,7 b' Authorized request for valid read-write '
318 > frame 1 1 stream-begin command-request new cbor:{b'name': b'customreadonly'}
318 > frame 1 1 stream-begin command-request new cbor:{b'name': b'customreadonly'}
319 > EOF
319 > EOF
320 using raw connection to peer
320 using raw connection to peer
321 s> POST /api/exp-http-v2-0001/rw/customreadonly HTTP/1.1\r\n
321 s> POST /api/exp-http-v2-0002/rw/customreadonly HTTP/1.1\r\n
322 s> Accept-Encoding: identity\r\n
322 s> Accept-Encoding: identity\r\n
323 s> accept: application/mercurial-exp-framing-0005\r\n
323 s> accept: application/mercurial-exp-framing-0005\r\n
324 s> content-type: application/mercurial-exp-framing-0005\r\n
324 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -354,7 +354,7 b' Authorized request for unknown command i'
354 > accept: $MEDIATYPE
354 > accept: $MEDIATYPE
355 > EOF
355 > EOF
356 using raw connection to peer
356 using raw connection to peer
357 s> POST /api/exp-http-v2-0001/rw/badcommand HTTP/1.1\r\n
357 s> POST /api/exp-http-v2-0002/rw/badcommand HTTP/1.1\r\n
358 s> Accept-Encoding: identity\r\n
358 s> Accept-Encoding: identity\r\n
359 s> accept: application/mercurial-exp-framing-0005\r\n
359 s> accept: application/mercurial-exp-framing-0005\r\n
360 s> user-agent: test\r\n
360 s> user-agent: test\r\n
@@ -376,7 +376,7 b" debugreflect isn't enabled by default"
376 > user-agent: test
376 > user-agent: test
377 > EOF
377 > EOF
378 using raw connection to peer
378 using raw connection to peer
379 s> POST /api/exp-http-v2-0001/ro/debugreflect HTTP/1.1\r\n
379 s> POST /api/exp-http-v2-0002/ro/debugreflect HTTP/1.1\r\n
380 s> Accept-Encoding: identity\r\n
380 s> Accept-Encoding: identity\r\n
381 s> user-agent: test\r\n
381 s> user-agent: test\r\n
382 s> host: $LOCALIP:$HGPORT\r\n (glob)
382 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -416,7 +416,7 b' Command frames can be reflected via debu'
416 > frame 1 1 stream-begin command-request new cbor:{b'name': b'command1', b'args': {b'foo': b'val1', b'bar1': b'val'}}
416 > frame 1 1 stream-begin command-request new cbor:{b'name': b'command1', b'args': {b'foo': b'val1', b'bar1': b'val'}}
417 > EOF
417 > EOF
418 using raw connection to peer
418 using raw connection to peer
419 s> POST /api/exp-http-v2-0001/ro/debugreflect HTTP/1.1\r\n
419 s> POST /api/exp-http-v2-0002/ro/debugreflect HTTP/1.1\r\n
420 s> Accept-Encoding: identity\r\n
420 s> Accept-Encoding: identity\r\n
421 s> accept: application/mercurial-exp-framing-0005\r\n
421 s> accept: application/mercurial-exp-framing-0005\r\n
422 s> content-type: application/mercurial-exp-framing-0005\r\n
422 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -447,7 +447,7 b' Multiple requests to regular command URL'
447 > frame 1 1 stream-begin command-request new cbor:{b'name': b'customreadonly'}
447 > frame 1 1 stream-begin command-request new cbor:{b'name': b'customreadonly'}
448 > EOF
448 > EOF
449 using raw connection to peer
449 using raw connection to peer
450 s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n
450 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
451 s> Accept-Encoding: identity\r\n
451 s> Accept-Encoding: identity\r\n
452 s> accept: application/mercurial-exp-framing-0005\r\n
452 s> accept: application/mercurial-exp-framing-0005\r\n
453 s> content-type: application/mercurial-exp-framing-0005\r\n
453 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -486,7 +486,7 b' Multiple requests to "multirequest" URL '
486 > frame 3 1 0 command-request new cbor:{b'name': b'customreadonly'}
486 > frame 3 1 0 command-request new cbor:{b'name': b'customreadonly'}
487 > EOF
487 > EOF
488 using raw connection to peer
488 using raw connection to peer
489 s> POST /api/exp-http-v2-0001/ro/multirequest HTTP/1.1\r\n
489 s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n
490 s> Accept-Encoding: identity\r\n
490 s> Accept-Encoding: identity\r\n
491 s> *\r\n (glob)
491 s> *\r\n (glob)
492 s> *\r\n (glob)
492 s> *\r\n (glob)
@@ -536,7 +536,7 b' Interleaved requests to "multirequest" a'
536 > frame 1 1 0 command-request continuation IbookmarksDnameHlistkeys
536 > frame 1 1 0 command-request continuation IbookmarksDnameHlistkeys
537 > EOF
537 > EOF
538 using raw connection to peer
538 using raw connection to peer
539 s> POST /api/exp-http-v2-0001/ro/multirequest HTTP/1.1\r\n
539 s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n
540 s> Accept-Encoding: identity\r\n
540 s> Accept-Encoding: identity\r\n
541 s> accept: application/mercurial-exp-framing-0005\r\n
541 s> accept: application/mercurial-exp-framing-0005\r\n
542 s> content-type: application/mercurial-exp-framing-0005\r\n
542 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -598,7 +598,7 b' Attempting to run a read-write command v'
598 > frame 1 1 stream-begin command-request new cbor:{b'name': b'pushkey'}
598 > frame 1 1 stream-begin command-request new cbor:{b'name': b'pushkey'}
599 > EOF
599 > EOF
600 using raw connection to peer
600 using raw connection to peer
601 s> POST /api/exp-http-v2-0001/ro/multirequest HTTP/1.1\r\n
601 s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n
602 s> Accept-Encoding: identity\r\n
602 s> Accept-Encoding: identity\r\n
603 s> accept: application/mercurial-exp-framing-0005\r\n
603 s> accept: application/mercurial-exp-framing-0005\r\n
604 s> content-type: application/mercurial-exp-framing-0005\r\n
604 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -218,11 +218,11 b' Accessing an unknown API yields a 404'
218 Accessing a known but not enabled API yields a different error
218 Accessing a known but not enabled API yields a different error
219
219
220 $ send << EOF
220 $ send << EOF
221 > httprequest GET api/exp-http-v2-0001
221 > httprequest GET api/exp-http-v2-0002
222 > user-agent: test
222 > user-agent: test
223 > EOF
223 > EOF
224 using raw connection to peer
224 using raw connection to peer
225 s> GET /api/exp-http-v2-0001 HTTP/1.1\r\n
225 s> GET /api/exp-http-v2-0002 HTTP/1.1\r\n
226 s> Accept-Encoding: identity\r\n
226 s> Accept-Encoding: identity\r\n
227 s> user-agent: test\r\n
227 s> user-agent: test\r\n
228 s> host: $LOCALIP:$HGPORT\r\n (glob)
228 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -234,7 +234,7 b' Accessing a known but not enabled API yi'
234 s> Content-Type: text/plain\r\n
234 s> Content-Type: text/plain\r\n
235 s> Content-Length: 33\r\n
235 s> Content-Length: 33\r\n
236 s> \r\n
236 s> \r\n
237 s> API exp-http-v2-0001 not enabled\n
237 s> API exp-http-v2-0002 not enabled\n
238
238
239 Restart server with support for HTTP v2 API
239 Restart server with support for HTTP v2 API
240
240
@@ -269,7 +269,7 b' Restart server with support for HTTP v2 '
269 s> \r\n
269 s> \r\n
270 s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n
270 s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n
271 s> \n
271 s> \n
272 s> exp-http-v2-0001
272 s> exp-http-v2-0002
273
273
274 $ send << EOF
274 $ send << EOF
275 > httprequest GET api/
275 > httprequest GET api/
@@ -290,4 +290,4 b' Restart server with support for HTTP v2 '
290 s> \r\n
290 s> \r\n
291 s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n
291 s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n
292 s> \n
292 s> \n
293 s> exp-http-v2-0001
293 s> exp-http-v2-0002
@@ -253,7 +253,7 b' Client with HTTPv2 enabled advertises th'
253 s> Accept-Encoding: identity\r\n
253 s> Accept-Encoding: identity\r\n
254 s> vary: X-HgProto-1,X-HgUpgrade-1\r\n
254 s> vary: X-HgProto-1,X-HgUpgrade-1\r\n
255 s> x-hgproto-1: cbor\r\n
255 s> x-hgproto-1: cbor\r\n
256 s> x-hgupgrade-1: exp-http-v2-0001\r\n
256 s> x-hgupgrade-1: exp-http-v2-0002\r\n
257 s> accept: application/mercurial-0.1\r\n
257 s> accept: application/mercurial-0.1\r\n
258 s> host: $LOCALIP:$HGPORT\r\n (glob)
258 s> host: $LOCALIP:$HGPORT\r\n (glob)
259 s> user-agent: Mercurial debugwireproto\r\n
259 s> user-agent: Mercurial debugwireproto\r\n
@@ -301,7 +301,7 b' Client with HTTPv2 enabled automatically'
301 s> Accept-Encoding: identity\r\n
301 s> Accept-Encoding: identity\r\n
302 s> vary: X-HgProto-1,X-HgUpgrade-1\r\n
302 s> vary: X-HgProto-1,X-HgUpgrade-1\r\n
303 s> x-hgproto-1: cbor\r\n
303 s> x-hgproto-1: cbor\r\n
304 s> x-hgupgrade-1: exp-http-v2-0001\r\n
304 s> x-hgupgrade-1: exp-http-v2-0002\r\n
305 s> accept: application/mercurial-0.1\r\n
305 s> accept: application/mercurial-0.1\r\n
306 s> host: $LOCALIP:$HGPORT\r\n (glob)
306 s> host: $LOCALIP:$HGPORT\r\n (glob)
307 s> user-agent: Mercurial debugwireproto\r\n
307 s> user-agent: Mercurial debugwireproto\r\n
@@ -313,9 +313,9 b' Client with HTTPv2 enabled automatically'
313 s> Content-Type: application/mercurial-cbor\r\n
313 s> Content-Type: application/mercurial-cbor\r\n
314 s> Content-Length: *\r\n (glob)
314 s> Content-Length: *\r\n (glob)
315 s> \r\n
315 s> \r\n
316 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0001\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa3Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushKcompression\x81\xa1DnameDzlibQframingmediatypes\x81X&application/mercurial-exp-framing-0005Rpathfilterprefixes\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
316 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa3Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushKcompression\x81\xa1DnameDzlibQframingmediatypes\x81X&application/mercurial-exp-framing-0005Rpathfilterprefixes\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
317 sending heads command
317 sending heads command
318 s> POST /api/exp-http-v2-0001/ro/heads HTTP/1.1\r\n
318 s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n
319 s> Accept-Encoding: identity\r\n
319 s> Accept-Encoding: identity\r\n
320 s> accept: application/mercurial-exp-framing-0005\r\n
320 s> accept: application/mercurial-exp-framing-0005\r\n
321 s> content-type: application/mercurial-exp-framing-0005\r\n
321 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -479,11 +479,11 b' debug output'
479 $ hg pull --debug ssh://user@dummy/remote
479 $ hg pull --debug ssh://user@dummy/remote
480 pulling from ssh://user@dummy/remote
480 pulling from ssh://user@dummy/remote
481 running .* ".*/dummyssh" ['"]user@dummy['"] ('|")hg -R remote serve --stdio('|") (re)
481 running .* ".*/dummyssh" ['"]user@dummy['"] ('|")hg -R remote serve --stdio('|") (re)
482 sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !)
482 sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !)
483 sending hello command
483 sending hello command
484 sending between command
484 sending between command
485 remote: 427 (sshv1 !)
485 remote: 427 (sshv1 !)
486 protocol upgraded to exp-ssh-v2-0001 (sshv2 !)
486 protocol upgraded to exp-ssh-v2-0002 (sshv2 !)
487 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
487 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
488 remote: 1 (sshv1 !)
488 remote: 1 (sshv1 !)
489 sending protocaps command
489 sending protocaps command
@@ -100,14 +100,14 b' Test pushing bundle1 payload to a server'
100 testing ssh2
100 testing ssh2
101 creating ssh peer from handshake results
101 creating ssh peer from handshake results
102 i> write(171) -> 171:
102 i> write(171) -> 171:
103 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
103 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
104 i> hello\n
104 i> hello\n
105 i> between\n
105 i> between\n
106 i> pairs 81\n
106 i> pairs 81\n
107 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
107 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
108 i> flush() -> None
108 i> flush() -> None
109 o> readline() -> 62:
109 o> readline() -> 62:
110 o> upgraded * exp-ssh-v2-0001\n (glob)
110 o> upgraded * exp-ssh-v2-0002\n (glob)
111 o> readline() -> 4:
111 o> readline() -> 4:
112 o> 426\n
112 o> 426\n
113 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
113 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -285,14 +285,14 b' ui.write() in hook is redirected to stde'
285 testing ssh2
285 testing ssh2
286 creating ssh peer from handshake results
286 creating ssh peer from handshake results
287 i> write(171) -> 171:
287 i> write(171) -> 171:
288 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
288 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
289 i> hello\n
289 i> hello\n
290 i> between\n
290 i> between\n
291 i> pairs 81\n
291 i> pairs 81\n
292 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
292 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
293 i> flush() -> None
293 i> flush() -> None
294 o> readline() -> 62:
294 o> readline() -> 62:
295 o> upgraded * exp-ssh-v2-0001\n (glob)
295 o> upgraded * exp-ssh-v2-0002\n (glob)
296 o> readline() -> 4:
296 o> readline() -> 4:
297 o> 426\n
297 o> 426\n
298 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
298 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -412,14 +412,14 b' And a variation that writes multiple lin'
412 testing ssh2
412 testing ssh2
413 creating ssh peer from handshake results
413 creating ssh peer from handshake results
414 i> write(171) -> 171:
414 i> write(171) -> 171:
415 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
415 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
416 i> hello\n
416 i> hello\n
417 i> between\n
417 i> between\n
418 i> pairs 81\n
418 i> pairs 81\n
419 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
419 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
420 i> flush() -> None
420 i> flush() -> None
421 o> readline() -> 62:
421 o> readline() -> 62:
422 o> upgraded * exp-ssh-v2-0001\n (glob)
422 o> upgraded * exp-ssh-v2-0002\n (glob)
423 o> readline() -> 4:
423 o> readline() -> 4:
424 o> 426\n
424 o> 426\n
425 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
425 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -539,14 +539,14 b' And a variation that does a ui.flush() a'
539 testing ssh2
539 testing ssh2
540 creating ssh peer from handshake results
540 creating ssh peer from handshake results
541 i> write(171) -> 171:
541 i> write(171) -> 171:
542 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
542 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
543 i> hello\n
543 i> hello\n
544 i> between\n
544 i> between\n
545 i> pairs 81\n
545 i> pairs 81\n
546 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
546 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
547 i> flush() -> None
547 i> flush() -> None
548 o> readline() -> 62:
548 o> readline() -> 62:
549 o> upgraded * exp-ssh-v2-0001\n (glob)
549 o> upgraded * exp-ssh-v2-0002\n (glob)
550 o> readline() -> 4:
550 o> readline() -> 4:
551 o> 426\n
551 o> 426\n
552 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
552 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -666,14 +666,14 b' Multiple writes + flush'
666 testing ssh2
666 testing ssh2
667 creating ssh peer from handshake results
667 creating ssh peer from handshake results
668 i> write(171) -> 171:
668 i> write(171) -> 171:
669 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
669 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
670 i> hello\n
670 i> hello\n
671 i> between\n
671 i> between\n
672 i> pairs 81\n
672 i> pairs 81\n
673 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
673 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
674 i> flush() -> None
674 i> flush() -> None
675 o> readline() -> 62:
675 o> readline() -> 62:
676 o> upgraded * exp-ssh-v2-0001\n (glob)
676 o> upgraded * exp-ssh-v2-0002\n (glob)
677 o> readline() -> 4:
677 o> readline() -> 4:
678 o> 426\n
678 o> 426\n
679 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
679 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -796,14 +796,14 b' ui.write() + ui.write_err() output is ca'
796 testing ssh2
796 testing ssh2
797 creating ssh peer from handshake results
797 creating ssh peer from handshake results
798 i> write(171) -> 171:
798 i> write(171) -> 171:
799 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
799 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
800 i> hello\n
800 i> hello\n
801 i> between\n
801 i> between\n
802 i> pairs 81\n
802 i> pairs 81\n
803 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
803 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
804 i> flush() -> None
804 i> flush() -> None
805 o> readline() -> 62:
805 o> readline() -> 62:
806 o> upgraded * exp-ssh-v2-0001\n (glob)
806 o> upgraded * exp-ssh-v2-0002\n (glob)
807 o> readline() -> 4:
807 o> readline() -> 4:
808 o> 426\n
808 o> 426\n
809 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
809 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -925,14 +925,14 b' print() output is captured'
925 testing ssh2
925 testing ssh2
926 creating ssh peer from handshake results
926 creating ssh peer from handshake results
927 i> write(171) -> 171:
927 i> write(171) -> 171:
928 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
928 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
929 i> hello\n
929 i> hello\n
930 i> between\n
930 i> between\n
931 i> pairs 81\n
931 i> pairs 81\n
932 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
932 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
933 i> flush() -> None
933 i> flush() -> None
934 o> readline() -> 62:
934 o> readline() -> 62:
935 o> upgraded * exp-ssh-v2-0001\n (glob)
935 o> upgraded * exp-ssh-v2-0002\n (glob)
936 o> readline() -> 4:
936 o> readline() -> 4:
937 o> 426\n
937 o> 426\n
938 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
938 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1054,14 +1054,14 b' Mixed print() and ui.write() are both ca'
1054 testing ssh2
1054 testing ssh2
1055 creating ssh peer from handshake results
1055 creating ssh peer from handshake results
1056 i> write(171) -> 171:
1056 i> write(171) -> 171:
1057 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1057 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1058 i> hello\n
1058 i> hello\n
1059 i> between\n
1059 i> between\n
1060 i> pairs 81\n
1060 i> pairs 81\n
1061 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1061 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1062 i> flush() -> None
1062 i> flush() -> None
1063 o> readline() -> 62:
1063 o> readline() -> 62:
1064 o> upgraded * exp-ssh-v2-0001\n (glob)
1064 o> upgraded * exp-ssh-v2-0002\n (glob)
1065 o> readline() -> 4:
1065 o> readline() -> 4:
1066 o> 426\n
1066 o> 426\n
1067 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1067 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1186,14 +1186,14 b' print() to stdout and stderr both get ca'
1186 testing ssh2
1186 testing ssh2
1187 creating ssh peer from handshake results
1187 creating ssh peer from handshake results
1188 i> write(171) -> 171:
1188 i> write(171) -> 171:
1189 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1189 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1190 i> hello\n
1190 i> hello\n
1191 i> between\n
1191 i> between\n
1192 i> pairs 81\n
1192 i> pairs 81\n
1193 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1193 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1194 i> flush() -> None
1194 i> flush() -> None
1195 o> readline() -> 62:
1195 o> readline() -> 62:
1196 o> upgraded * exp-ssh-v2-0001\n (glob)
1196 o> upgraded * exp-ssh-v2-0002\n (glob)
1197 o> readline() -> 4:
1197 o> readline() -> 4:
1198 o> 426\n
1198 o> 426\n
1199 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1199 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1322,14 +1322,14 b' Shell hook writing to stdout has output '
1322 testing ssh2
1322 testing ssh2
1323 creating ssh peer from handshake results
1323 creating ssh peer from handshake results
1324 i> write(171) -> 171:
1324 i> write(171) -> 171:
1325 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1325 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1326 i> hello\n
1326 i> hello\n
1327 i> between\n
1327 i> between\n
1328 i> pairs 81\n
1328 i> pairs 81\n
1329 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1329 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1330 i> flush() -> None
1330 i> flush() -> None
1331 o> readline() -> 62:
1331 o> readline() -> 62:
1332 o> upgraded * exp-ssh-v2-0001\n (glob)
1332 o> upgraded * exp-ssh-v2-0002\n (glob)
1333 o> readline() -> 4:
1333 o> readline() -> 4:
1334 o> 426\n
1334 o> 426\n
1335 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1335 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1451,14 +1451,14 b' Shell hook writing to stderr has output '
1451 testing ssh2
1451 testing ssh2
1452 creating ssh peer from handshake results
1452 creating ssh peer from handshake results
1453 i> write(171) -> 171:
1453 i> write(171) -> 171:
1454 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1454 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1455 i> hello\n
1455 i> hello\n
1456 i> between\n
1456 i> between\n
1457 i> pairs 81\n
1457 i> pairs 81\n
1458 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1458 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1459 i> flush() -> None
1459 i> flush() -> None
1460 o> readline() -> 62:
1460 o> readline() -> 62:
1461 o> upgraded * exp-ssh-v2-0001\n (glob)
1461 o> upgraded * exp-ssh-v2-0002\n (glob)
1462 o> readline() -> 4:
1462 o> readline() -> 4:
1463 o> 426\n
1463 o> 426\n
1464 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1464 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1584,14 +1584,14 b' Shell hook writing to stdout and stderr '
1584 testing ssh2
1584 testing ssh2
1585 creating ssh peer from handshake results
1585 creating ssh peer from handshake results
1586 i> write(171) -> 171:
1586 i> write(171) -> 171:
1587 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1587 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1588 i> hello\n
1588 i> hello\n
1589 i> between\n
1589 i> between\n
1590 i> pairs 81\n
1590 i> pairs 81\n
1591 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1591 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1592 i> flush() -> None
1592 i> flush() -> None
1593 o> readline() -> 62:
1593 o> readline() -> 62:
1594 o> upgraded * exp-ssh-v2-0001\n (glob)
1594 o> upgraded * exp-ssh-v2-0002\n (glob)
1595 o> readline() -> 4:
1595 o> readline() -> 4:
1596 o> 426\n
1596 o> 426\n
1597 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1597 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1729,14 +1729,14 b' Shell and Python hooks writing to stdout'
1729 testing ssh2
1729 testing ssh2
1730 creating ssh peer from handshake results
1730 creating ssh peer from handshake results
1731 i> write(171) -> 171:
1731 i> write(171) -> 171:
1732 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1732 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1733 i> hello\n
1733 i> hello\n
1734 i> between\n
1734 i> between\n
1735 i> pairs 81\n
1735 i> pairs 81\n
1736 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1736 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1737 i> flush() -> None
1737 i> flush() -> None
1738 o> readline() -> 62:
1738 o> readline() -> 62:
1739 o> upgraded * exp-ssh-v2-0001\n (glob)
1739 o> upgraded * exp-ssh-v2-0002\n (glob)
1740 o> readline() -> 4:
1740 o> readline() -> 4:
1741 o> 426\n
1741 o> 426\n
1742 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1742 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1858,14 +1858,14 b' Pushing a bundle1 with no output'
1858 testing ssh2
1858 testing ssh2
1859 creating ssh peer from handshake results
1859 creating ssh peer from handshake results
1860 i> write(171) -> 171:
1860 i> write(171) -> 171:
1861 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1861 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1862 i> hello\n
1862 i> hello\n
1863 i> between\n
1863 i> between\n
1864 i> pairs 81\n
1864 i> pairs 81\n
1865 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1865 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1866 i> flush() -> None
1866 i> flush() -> None
1867 o> readline() -> 62:
1867 o> readline() -> 62:
1868 o> upgraded * exp-ssh-v2-0001\n (glob)
1868 o> upgraded * exp-ssh-v2-0002\n (glob)
1869 o> readline() -> 4:
1869 o> readline() -> 4:
1870 o> 426\n
1870 o> 426\n
1871 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1871 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1992,14 +1992,14 b' Pushing a bundle1 with ui.write() and ui'
1992 testing ssh2
1992 testing ssh2
1993 creating ssh peer from handshake results
1993 creating ssh peer from handshake results
1994 i> write(171) -> 171:
1994 i> write(171) -> 171:
1995 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1995 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1996 i> hello\n
1996 i> hello\n
1997 i> between\n
1997 i> between\n
1998 i> pairs 81\n
1998 i> pairs 81\n
1999 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1999 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2000 i> flush() -> None
2000 i> flush() -> None
2001 o> readline() -> 62:
2001 o> readline() -> 62:
2002 o> upgraded * exp-ssh-v2-0001\n (glob)
2002 o> upgraded * exp-ssh-v2-0002\n (glob)
2003 o> readline() -> 4:
2003 o> readline() -> 4:
2004 o> 426\n
2004 o> 426\n
2005 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
2005 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -954,7 +954,7 b' Send an upgrade request to a server that'
954 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server
954 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server
955 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
955 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
956 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
956 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
957 sending upgrade request: * proto=exp-ssh-v2-0001 (glob)
957 sending upgrade request: * proto=exp-ssh-v2-0002 (glob)
958 devel-peer-request: hello+between
958 devel-peer-request: hello+between
959 devel-peer-request: pairs: 81 bytes
959 devel-peer-request: pairs: 81 bytes
960 sending hello command
960 sending hello command
@@ -984,7 +984,7 b' Send an upgrade request to a server that'
984
984
985 $ hg debugwireproto --localssh --peer raw << EOF
985 $ hg debugwireproto --localssh --peer raw << EOF
986 > raw
986 > raw
987 > upgrade this-is-some-token proto=exp-ssh-v2-0001\n
987 > upgrade this-is-some-token proto=exp-ssh-v2-0002\n
988 > hello\n
988 > hello\n
989 > between\n
989 > between\n
990 > pairs 81\n
990 > pairs 81\n
@@ -995,13 +995,13 b' Send an upgrade request to a server that'
995 > EOF
995 > EOF
996 using raw connection to peer
996 using raw connection to peer
997 i> write(153) -> 153:
997 i> write(153) -> 153:
998 i> upgrade this-is-some-token proto=exp-ssh-v2-0001\n
998 i> upgrade this-is-some-token proto=exp-ssh-v2-0002\n
999 i> hello\n
999 i> hello\n
1000 i> between\n
1000 i> between\n
1001 i> pairs 81\n
1001 i> pairs 81\n
1002 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1002 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1003 o> readline() -> 44:
1003 o> readline() -> 44:
1004 o> upgraded this-is-some-token exp-ssh-v2-0001\n
1004 o> upgraded this-is-some-token exp-ssh-v2-0002\n
1005 o> readline() -> 4:
1005 o> readline() -> 4:
1006 o> 426\n
1006 o> 426\n
1007 o> readline() -> 427:
1007 o> readline() -> 427:
@@ -1012,12 +1012,12 b' Send an upgrade request to a server that'
1012 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server
1012 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server
1013 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
1013 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
1014 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
1014 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
1015 sending upgrade request: * proto=exp-ssh-v2-0001 (glob)
1015 sending upgrade request: * proto=exp-ssh-v2-0002 (glob)
1016 devel-peer-request: hello+between
1016 devel-peer-request: hello+between
1017 devel-peer-request: pairs: 81 bytes
1017 devel-peer-request: pairs: 81 bytes
1018 sending hello command
1018 sending hello command
1019 sending between command
1019 sending between command
1020 protocol upgraded to exp-ssh-v2-0001
1020 protocol upgraded to exp-ssh-v2-0002
1021 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1021 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1022 devel-peer-request: protocaps
1022 devel-peer-request: protocaps
1023 devel-peer-request: caps: * bytes (glob)
1023 devel-peer-request: caps: * bytes (glob)
@@ -1031,12 +1031,12 b' Verify the peer has capabilities'
1031 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugcapabilities ssh://user@dummy/server
1031 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugcapabilities ssh://user@dummy/server
1032 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
1032 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
1033 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
1033 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
1034 sending upgrade request: * proto=exp-ssh-v2-0001 (glob)
1034 sending upgrade request: * proto=exp-ssh-v2-0002 (glob)
1035 devel-peer-request: hello+between
1035 devel-peer-request: hello+between
1036 devel-peer-request: pairs: 81 bytes
1036 devel-peer-request: pairs: 81 bytes
1037 sending hello command
1037 sending hello command
1038 sending between command
1038 sending between command
1039 protocol upgraded to exp-ssh-v2-0001
1039 protocol upgraded to exp-ssh-v2-0002
1040 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1040 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1041 devel-peer-request: protocaps
1041 devel-peer-request: protocaps
1042 devel-peer-request: caps: * bytes (glob)
1042 devel-peer-request: caps: * bytes (glob)
@@ -1087,7 +1087,7 b' Command after upgrade to version 2 is pr'
1087
1087
1088 $ hg debugwireproto --localssh --peer raw << EOF
1088 $ hg debugwireproto --localssh --peer raw << EOF
1089 > raw
1089 > raw
1090 > upgrade this-is-some-token proto=exp-ssh-v2-0001\n
1090 > upgrade this-is-some-token proto=exp-ssh-v2-0002\n
1091 > hello\n
1091 > hello\n
1092 > between\n
1092 > between\n
1093 > pairs 81\n
1093 > pairs 81\n
@@ -1102,13 +1102,13 b' Command after upgrade to version 2 is pr'
1102 > EOF
1102 > EOF
1103 using raw connection to peer
1103 using raw connection to peer
1104 i> write(153) -> 153:
1104 i> write(153) -> 153:
1105 i> upgrade this-is-some-token proto=exp-ssh-v2-0001\n
1105 i> upgrade this-is-some-token proto=exp-ssh-v2-0002\n
1106 i> hello\n
1106 i> hello\n
1107 i> between\n
1107 i> between\n
1108 i> pairs 81\n
1108 i> pairs 81\n
1109 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1109 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1110 o> readline() -> 44:
1110 o> readline() -> 44:
1111 o> upgraded this-is-some-token exp-ssh-v2-0001\n
1111 o> upgraded this-is-some-token exp-ssh-v2-0002\n
1112 o> readline() -> 4:
1112 o> readline() -> 4:
1113 o> 426\n
1113 o> 426\n
1114 o> readline() -> 427:
1114 o> readline() -> 427:
@@ -1124,7 +1124,7 b' Multiple upgrades is not allowed'
1124
1124
1125 $ hg debugwireproto --localssh --peer raw << EOF
1125 $ hg debugwireproto --localssh --peer raw << EOF
1126 > raw
1126 > raw
1127 > upgrade this-is-some-token proto=exp-ssh-v2-0001\n
1127 > upgrade this-is-some-token proto=exp-ssh-v2-0002\n
1128 > hello\n
1128 > hello\n
1129 > between\n
1129 > between\n
1130 > pairs 81\n
1130 > pairs 81\n
@@ -1140,13 +1140,13 b' Multiple upgrades is not allowed'
1140 > EOF
1140 > EOF
1141 using raw connection to peer
1141 using raw connection to peer
1142 i> write(153) -> 153:
1142 i> write(153) -> 153:
1143 i> upgrade this-is-some-token proto=exp-ssh-v2-0001\n
1143 i> upgrade this-is-some-token proto=exp-ssh-v2-0002\n
1144 i> hello\n
1144 i> hello\n
1145 i> between\n
1145 i> between\n
1146 i> pairs 81\n
1146 i> pairs 81\n
1147 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1147 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1148 o> readline() -> 44:
1148 o> readline() -> 44:
1149 o> upgraded this-is-some-token exp-ssh-v2-0001\n
1149 o> upgraded this-is-some-token exp-ssh-v2-0002\n
1150 o> readline() -> 4:
1150 o> readline() -> 4:
1151 o> 426\n
1151 o> 426\n
1152 o> readline() -> 427:
1152 o> readline() -> 427:
@@ -1236,14 +1236,14 b' Upgrade request must be followed by hell'
1236
1236
1237 $ hg debugwireproto --localssh --peer raw << EOF
1237 $ hg debugwireproto --localssh --peer raw << EOF
1238 > raw
1238 > raw
1239 > upgrade token proto=exp-ssh-v2-0001\n
1239 > upgrade token proto=exp-ssh-v2-0002\n
1240 > invalid\n
1240 > invalid\n
1241 > readline
1241 > readline
1242 > readavailable
1242 > readavailable
1243 > EOF
1243 > EOF
1244 using raw connection to peer
1244 using raw connection to peer
1245 i> write(44) -> 44:
1245 i> write(44) -> 44:
1246 i> upgrade token proto=exp-ssh-v2-0001\n
1246 i> upgrade token proto=exp-ssh-v2-0002\n
1247 i> invalid\n
1247 i> invalid\n
1248 o> readline() -> 1:
1248 o> readline() -> 1:
1249 o> \n
1249 o> \n
@@ -1253,7 +1253,7 b' Upgrade request must be followed by hell'
1253
1253
1254 $ hg debugwireproto --localssh --peer raw << EOF
1254 $ hg debugwireproto --localssh --peer raw << EOF
1255 > raw
1255 > raw
1256 > upgrade token proto=exp-ssh-v2-0001\n
1256 > upgrade token proto=exp-ssh-v2-0002\n
1257 > hello\n
1257 > hello\n
1258 > invalid\n
1258 > invalid\n
1259 > readline
1259 > readline
@@ -1261,7 +1261,7 b' Upgrade request must be followed by hell'
1261 > EOF
1261 > EOF
1262 using raw connection to peer
1262 using raw connection to peer
1263 i> write(50) -> 50:
1263 i> write(50) -> 50:
1264 i> upgrade token proto=exp-ssh-v2-0001\n
1264 i> upgrade token proto=exp-ssh-v2-0002\n
1265 i> hello\n
1265 i> hello\n
1266 i> invalid\n
1266 i> invalid\n
1267 o> readline() -> 1:
1267 o> readline() -> 1:
@@ -1272,7 +1272,7 b' Upgrade request must be followed by hell'
1272
1272
1273 $ hg debugwireproto --localssh --peer raw << EOF
1273 $ hg debugwireproto --localssh --peer raw << EOF
1274 > raw
1274 > raw
1275 > upgrade token proto=exp-ssh-v2-0001\n
1275 > upgrade token proto=exp-ssh-v2-0002\n
1276 > hello\n
1276 > hello\n
1277 > between\n
1277 > between\n
1278 > invalid\n
1278 > invalid\n
@@ -1281,7 +1281,7 b' Upgrade request must be followed by hell'
1281 > EOF
1281 > EOF
1282 using raw connection to peer
1282 using raw connection to peer
1283 i> write(58) -> 58:
1283 i> write(58) -> 58:
1284 i> upgrade token proto=exp-ssh-v2-0001\n
1284 i> upgrade token proto=exp-ssh-v2-0002\n
1285 i> hello\n
1285 i> hello\n
1286 i> between\n
1286 i> between\n
1287 i> invalid\n
1287 i> invalid\n
@@ -1368,14 +1368,14 b' Test listkeys for listing namespaces'
1368 testing ssh2
1368 testing ssh2
1369 creating ssh peer from handshake results
1369 creating ssh peer from handshake results
1370 i> write(171) -> 171:
1370 i> write(171) -> 171:
1371 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1371 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1372 i> hello\n
1372 i> hello\n
1373 i> between\n
1373 i> between\n
1374 i> pairs 81\n
1374 i> pairs 81\n
1375 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1375 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1376 i> flush() -> None
1376 i> flush() -> None
1377 o> readline() -> 62:
1377 o> readline() -> 62:
1378 o> upgraded * exp-ssh-v2-0001\n (glob)
1378 o> upgraded * exp-ssh-v2-0002\n (glob)
1379 o> readline() -> 4:
1379 o> readline() -> 4:
1380 o> 426\n
1380 o> 426\n
1381 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1381 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1448,14 +1448,14 b' With no bookmarks set'
1448 testing ssh2
1448 testing ssh2
1449 creating ssh peer from handshake results
1449 creating ssh peer from handshake results
1450 i> write(171) -> 171:
1450 i> write(171) -> 171:
1451 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1451 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1452 i> hello\n
1452 i> hello\n
1453 i> between\n
1453 i> between\n
1454 i> pairs 81\n
1454 i> pairs 81\n
1455 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1455 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1456 i> flush() -> None
1456 i> flush() -> None
1457 o> readline() -> 62:
1457 o> readline() -> 62:
1458 o> upgraded * exp-ssh-v2-0001\n (glob)
1458 o> upgraded * exp-ssh-v2-0002\n (glob)
1459 o> readline() -> 4:
1459 o> readline() -> 4:
1460 o> 426\n
1460 o> 426\n
1461 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1461 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1512,14 +1512,14 b' With a single bookmark set'
1512 testing ssh2
1512 testing ssh2
1513 creating ssh peer from handshake results
1513 creating ssh peer from handshake results
1514 i> write(171) -> 171:
1514 i> write(171) -> 171:
1515 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1515 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1516 i> hello\n
1516 i> hello\n
1517 i> between\n
1517 i> between\n
1518 i> pairs 81\n
1518 i> pairs 81\n
1519 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1519 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1520 i> flush() -> None
1520 i> flush() -> None
1521 o> readline() -> 62:
1521 o> readline() -> 62:
1522 o> upgraded * exp-ssh-v2-0001\n (glob)
1522 o> upgraded * exp-ssh-v2-0002\n (glob)
1523 o> readline() -> 4:
1523 o> readline() -> 4:
1524 o> 426\n
1524 o> 426\n
1525 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1525 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1582,14 +1582,14 b' With multiple bookmarks set'
1582 testing ssh2
1582 testing ssh2
1583 creating ssh peer from handshake results
1583 creating ssh peer from handshake results
1584 i> write(171) -> 171:
1584 i> write(171) -> 171:
1585 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1585 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1586 i> hello\n
1586 i> hello\n
1587 i> between\n
1587 i> between\n
1588 i> pairs 81\n
1588 i> pairs 81\n
1589 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1589 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1590 i> flush() -> None
1590 i> flush() -> None
1591 o> readline() -> 62:
1591 o> readline() -> 62:
1592 o> upgraded * exp-ssh-v2-0001\n (glob)
1592 o> upgraded * exp-ssh-v2-0002\n (glob)
1593 o> readline() -> 4:
1593 o> readline() -> 4:
1594 o> 426\n
1594 o> 426\n
1595 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1595 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1661,14 +1661,14 b' Test pushkey for bookmarks'
1661 testing ssh2
1661 testing ssh2
1662 creating ssh peer from handshake results
1662 creating ssh peer from handshake results
1663 i> write(171) -> 171:
1663 i> write(171) -> 171:
1664 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1664 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1665 i> hello\n
1665 i> hello\n
1666 i> between\n
1666 i> between\n
1667 i> pairs 81\n
1667 i> pairs 81\n
1668 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1668 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1669 i> flush() -> None
1669 i> flush() -> None
1670 o> readline() -> 62:
1670 o> readline() -> 62:
1671 o> upgraded * exp-ssh-v2-0001\n (glob)
1671 o> upgraded * exp-ssh-v2-0002\n (glob)
1672 o> readline() -> 4:
1672 o> readline() -> 4:
1673 o> 426\n
1673 o> 426\n
1674 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1674 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1746,14 +1746,14 b' Phases on empty repo'
1746 testing ssh2
1746 testing ssh2
1747 creating ssh peer from handshake results
1747 creating ssh peer from handshake results
1748 i> write(171) -> 171:
1748 i> write(171) -> 171:
1749 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1749 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1750 i> hello\n
1750 i> hello\n
1751 i> between\n
1751 i> between\n
1752 i> pairs 81\n
1752 i> pairs 81\n
1753 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1753 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1754 i> flush() -> None
1754 i> flush() -> None
1755 o> readline() -> 62:
1755 o> readline() -> 62:
1756 o> upgraded * exp-ssh-v2-0001\n (glob)
1756 o> upgraded * exp-ssh-v2-0002\n (glob)
1757 o> readline() -> 4:
1757 o> readline() -> 4:
1758 o> 426\n
1758 o> 426\n
1759 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1759 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1834,14 +1834,14 b' Two draft heads'
1834 testing ssh2
1834 testing ssh2
1835 creating ssh peer from handshake results
1835 creating ssh peer from handshake results
1836 i> write(171) -> 171:
1836 i> write(171) -> 171:
1837 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1837 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1838 i> hello\n
1838 i> hello\n
1839 i> between\n
1839 i> between\n
1840 i> pairs 81\n
1840 i> pairs 81\n
1841 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1841 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1842 i> flush() -> None
1842 i> flush() -> None
1843 o> readline() -> 62:
1843 o> readline() -> 62:
1844 o> upgraded * exp-ssh-v2-0001\n (glob)
1844 o> upgraded * exp-ssh-v2-0002\n (glob)
1845 o> readline() -> 4:
1845 o> readline() -> 4:
1846 o> 426\n
1846 o> 426\n
1847 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1847 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1909,14 +1909,14 b' Single draft head'
1909 testing ssh2
1909 testing ssh2
1910 creating ssh peer from handshake results
1910 creating ssh peer from handshake results
1911 i> write(171) -> 171:
1911 i> write(171) -> 171:
1912 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1912 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1913 i> hello\n
1913 i> hello\n
1914 i> between\n
1914 i> between\n
1915 i> pairs 81\n
1915 i> pairs 81\n
1916 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1916 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1917 i> flush() -> None
1917 i> flush() -> None
1918 o> readline() -> 62:
1918 o> readline() -> 62:
1919 o> upgraded * exp-ssh-v2-0001\n (glob)
1919 o> upgraded * exp-ssh-v2-0002\n (glob)
1920 o> readline() -> 4:
1920 o> readline() -> 4:
1921 o> 426\n
1921 o> 426\n
1922 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1922 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -1979,14 +1979,14 b' All public heads'
1979 testing ssh2
1979 testing ssh2
1980 creating ssh peer from handshake results
1980 creating ssh peer from handshake results
1981 i> write(171) -> 171:
1981 i> write(171) -> 171:
1982 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
1982 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
1983 i> hello\n
1983 i> hello\n
1984 i> between\n
1984 i> between\n
1985 i> pairs 81\n
1985 i> pairs 81\n
1986 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1986 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1987 i> flush() -> None
1987 i> flush() -> None
1988 o> readline() -> 62:
1988 o> readline() -> 62:
1989 o> upgraded * exp-ssh-v2-0001\n (glob)
1989 o> upgraded * exp-ssh-v2-0002\n (glob)
1990 o> readline() -> 4:
1990 o> readline() -> 4:
1991 o> 426\n
1991 o> 426\n
1992 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1992 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -2058,14 +2058,14 b' Setting public phase via pushkey'
2058 testing ssh2
2058 testing ssh2
2059 creating ssh peer from handshake results
2059 creating ssh peer from handshake results
2060 i> write(171) -> 171:
2060 i> write(171) -> 171:
2061 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
2061 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
2062 i> hello\n
2062 i> hello\n
2063 i> between\n
2063 i> between\n
2064 i> pairs 81\n
2064 i> pairs 81\n
2065 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2065 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2066 i> flush() -> None
2066 i> flush() -> None
2067 o> readline() -> 62:
2067 o> readline() -> 62:
2068 o> upgraded * exp-ssh-v2-0001\n (glob)
2068 o> upgraded * exp-ssh-v2-0002\n (glob)
2069 o> readline() -> 4:
2069 o> readline() -> 4:
2070 o> 426\n
2070 o> 426\n
2071 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
2071 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -2164,14 +2164,14 b' Test batching of requests'
2164 testing ssh2
2164 testing ssh2
2165 creating ssh peer from handshake results
2165 creating ssh peer from handshake results
2166 i> write(171) -> 171:
2166 i> write(171) -> 171:
2167 i> upgrade * proto=exp-ssh-v2-0001\n (glob)
2167 i> upgrade * proto=exp-ssh-v2-0002\n (glob)
2168 i> hello\n
2168 i> hello\n
2169 i> between\n
2169 i> between\n
2170 i> pairs 81\n
2170 i> pairs 81\n
2171 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2171 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2172 i> flush() -> None
2172 i> flush() -> None
2173 o> readline() -> 62:
2173 o> readline() -> 62:
2174 o> upgraded * exp-ssh-v2-0001\n (glob)
2174 o> upgraded * exp-ssh-v2-0002\n (glob)
2175 o> readline() -> 4:
2175 o> readline() -> 4:
2176 o> 426\n
2176 o> 426\n
2177 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
2177 o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
@@ -488,13 +488,13 b' debug output'
488 $ hg pull --debug ssh://user@dummy/remote --config devel.debug.peer-request=yes
488 $ hg pull --debug ssh://user@dummy/remote --config devel.debug.peer-request=yes
489 pulling from ssh://user@dummy/remote
489 pulling from ssh://user@dummy/remote
490 running .* ".*/dummyssh" ['"]user@dummy['"] ('|")hg -R remote serve --stdio('|") (re)
490 running .* ".*/dummyssh" ['"]user@dummy['"] ('|")hg -R remote serve --stdio('|") (re)
491 sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !)
491 sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !)
492 devel-peer-request: hello+between
492 devel-peer-request: hello+between
493 devel-peer-request: pairs: 81 bytes
493 devel-peer-request: pairs: 81 bytes
494 sending hello command
494 sending hello command
495 sending between command
495 sending between command
496 remote: 427 (sshv1 !)
496 remote: 427 (sshv1 !)
497 protocol upgraded to exp-ssh-v2-0001 (sshv2 !)
497 protocol upgraded to exp-ssh-v2-0002 (sshv2 !)
498 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
498 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
499 remote: 1 (sshv1 !)
499 remote: 1 (sshv1 !)
500 devel-peer-request: protocaps
500 devel-peer-request: protocaps
@@ -43,7 +43,7 b' No arguments returns something reasonabl'
43 > EOF
43 > EOF
44 creating http peer for wire protocol version 2
44 creating http peer for wire protocol version 2
45 sending branchmap command
45 sending branchmap command
46 s> POST /api/exp-http-v2-0001/ro/branchmap HTTP/1.1\r\n
46 s> POST /api/exp-http-v2-0002/ro/branchmap HTTP/1.1\r\n
47 s> Accept-Encoding: identity\r\n
47 s> Accept-Encoding: identity\r\n
48 s> accept: application/mercurial-exp-framing-0005\r\n
48 s> accept: application/mercurial-exp-framing-0005\r\n
49 s> content-type: application/mercurial-exp-framing-0005\r\n
49 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -194,7 +194,7 b' Request for HTTPv2 service returns infor'
194 $ sendhttpraw << EOF
194 $ sendhttpraw << EOF
195 > httprequest GET ?cmd=capabilities
195 > httprequest GET ?cmd=capabilities
196 > user-agent: test
196 > user-agent: test
197 > x-hgupgrade-1: exp-http-v2-0001 foo bar
197 > x-hgupgrade-1: exp-http-v2-0002 foo bar
198 > x-hgproto-1: cbor
198 > x-hgproto-1: cbor
199 > EOF
199 > EOF
200 using raw connection to peer
200 using raw connection to peer
@@ -202,7 +202,7 b' Request for HTTPv2 service returns infor'
202 s> Accept-Encoding: identity\r\n
202 s> Accept-Encoding: identity\r\n
203 s> user-agent: test\r\n
203 s> user-agent: test\r\n
204 s> x-hgproto-1: cbor\r\n
204 s> x-hgproto-1: cbor\r\n
205 s> x-hgupgrade-1: exp-http-v2-0001 foo bar\r\n
205 s> x-hgupgrade-1: exp-http-v2-0002 foo bar\r\n
206 s> host: $LOCALIP:$HGPORT\r\n (glob)
206 s> host: $LOCALIP:$HGPORT\r\n (glob)
207 s> \r\n
207 s> \r\n
208 s> makefile('rb', None)
208 s> makefile('rb', None)
@@ -212,11 +212,11 b' Request for HTTPv2 service returns infor'
212 s> Content-Type: application/mercurial-cbor\r\n
212 s> Content-Type: application/mercurial-cbor\r\n
213 s> Content-Length: *\r\n (glob)
213 s> Content-Length: *\r\n (glob)
214 s> \r\n
214 s> \r\n
215 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0001\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa3Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushKcompression\x81\xa1DnameDzlibQframingmediatypes\x81X&application/mercurial-exp-framing-0005Rpathfilterprefixes\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
215 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa3Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushKcompression\x81\xa1DnameDzlibQframingmediatypes\x81X&application/mercurial-exp-framing-0005Rpathfilterprefixes\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
216 cbor> {
216 cbor> {
217 b'apibase': b'api/',
217 b'apibase': b'api/',
218 b'apis': {
218 b'apis': {
219 b'exp-http-v2-0001': {
219 b'exp-http-v2-0002': {
220 b'commands': {
220 b'commands': {
221 b'branchmap': {
221 b'branchmap': {
222 b'args': {},
222 b'args': {},
@@ -417,7 +417,7 b' capabilities command returns expected in'
417 s> Accept-Encoding: identity\r\n
417 s> Accept-Encoding: identity\r\n
418 s> vary: X-HgProto-1,X-HgUpgrade-1\r\n
418 s> vary: X-HgProto-1,X-HgUpgrade-1\r\n
419 s> x-hgproto-1: cbor\r\n
419 s> x-hgproto-1: cbor\r\n
420 s> x-hgupgrade-1: exp-http-v2-0001\r\n
420 s> x-hgupgrade-1: exp-http-v2-0002\r\n
421 s> accept: application/mercurial-0.1\r\n
421 s> accept: application/mercurial-0.1\r\n
422 s> host: $LOCALIP:$HGPORT\r\n (glob)
422 s> host: $LOCALIP:$HGPORT\r\n (glob)
423 s> user-agent: Mercurial debugwireproto\r\n
423 s> user-agent: Mercurial debugwireproto\r\n
@@ -429,9 +429,9 b' capabilities command returns expected in'
429 s> Content-Type: application/mercurial-cbor\r\n
429 s> Content-Type: application/mercurial-cbor\r\n
430 s> Content-Length: *\r\n (glob)
430 s> Content-Length: *\r\n (glob)
431 s> \r\n
431 s> \r\n
432 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0001\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa3Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushKcompression\x81\xa1DnameDzlibQframingmediatypes\x81X&application/mercurial-exp-framing-0005Rpathfilterprefixes\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
432 s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa3Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushKcompression\x81\xa1DnameDzlibQframingmediatypes\x81X&application/mercurial-exp-framing-0005Rpathfilterprefixes\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
433 sending capabilities command
433 sending capabilities command
434 s> POST /api/exp-http-v2-0001/ro/capabilities HTTP/1.1\r\n
434 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
435 s> Accept-Encoding: identity\r\n
435 s> Accept-Encoding: identity\r\n
436 s> accept: application/mercurial-exp-framing-0005\r\n
436 s> accept: application/mercurial-exp-framing-0005\r\n
437 s> content-type: application/mercurial-exp-framing-0005\r\n
437 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -44,7 +44,7 b' No arguments is an invalid request'
44 > EOF
44 > EOF
45 creating http peer for wire protocol version 2
45 creating http peer for wire protocol version 2
46 sending changesetdata command
46 sending changesetdata command
47 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
47 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
48 s> Accept-Encoding: identity\r\n
48 s> Accept-Encoding: identity\r\n
49 s> accept: application/mercurial-exp-framing-0005\r\n
49 s> accept: application/mercurial-exp-framing-0005\r\n
50 s> content-type: application/mercurial-exp-framing-0005\r\n
50 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -78,7 +78,7 b' Empty noderange heads results in an erro'
78 > EOF
78 > EOF
79 creating http peer for wire protocol version 2
79 creating http peer for wire protocol version 2
80 sending changesetdata command
80 sending changesetdata command
81 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
81 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
82 s> Accept-Encoding: identity\r\n
82 s> Accept-Encoding: identity\r\n
83 s> accept: application/mercurial-exp-framing-0005\r\n
83 s> accept: application/mercurial-exp-framing-0005\r\n
84 s> content-type: application/mercurial-exp-framing-0005\r\n
84 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -112,7 +112,7 b' Sending just noderange heads sends all r'
112 > EOF
112 > EOF
113 creating http peer for wire protocol version 2
113 creating http peer for wire protocol version 2
114 sending changesetdata command
114 sending changesetdata command
115 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
115 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
116 s> Accept-Encoding: identity\r\n
116 s> Accept-Encoding: identity\r\n
117 s> accept: application/mercurial-exp-framing-0005\r\n
117 s> accept: application/mercurial-exp-framing-0005\r\n
118 s> content-type: application/mercurial-exp-framing-0005\r\n
118 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -170,7 +170,7 b' Sending root nodes limits what data is s'
170 > EOF
170 > EOF
171 creating http peer for wire protocol version 2
171 creating http peer for wire protocol version 2
172 sending changesetdata command
172 sending changesetdata command
173 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
173 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
174 s> Accept-Encoding: identity\r\n
174 s> Accept-Encoding: identity\r\n
175 s> accept: application/mercurial-exp-framing-0005\r\n
175 s> accept: application/mercurial-exp-framing-0005\r\n
176 s> content-type: application/mercurial-exp-framing-0005\r\n
176 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -222,7 +222,7 b' Requesting data on a single node by node'
222 > EOF
222 > EOF
223 creating http peer for wire protocol version 2
223 creating http peer for wire protocol version 2
224 sending changesetdata command
224 sending changesetdata command
225 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
225 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
226 s> Accept-Encoding: identity\r\n
226 s> Accept-Encoding: identity\r\n
227 s> accept: application/mercurial-exp-framing-0005\r\n
227 s> accept: application/mercurial-exp-framing-0005\r\n
228 s> content-type: application/mercurial-exp-framing-0005\r\n
228 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -272,7 +272,7 b' Specifying a noderange and nodes takes u'
272 > EOF
272 > EOF
273 creating http peer for wire protocol version 2
273 creating http peer for wire protocol version 2
274 sending changesetdata command
274 sending changesetdata command
275 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
275 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
276 s> Accept-Encoding: identity\r\n
276 s> Accept-Encoding: identity\r\n
277 s> accept: application/mercurial-exp-framing-0005\r\n
277 s> accept: application/mercurial-exp-framing-0005\r\n
278 s> content-type: application/mercurial-exp-framing-0005\r\n
278 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -325,7 +325,7 b' Parents data is transferred upon request'
325 > EOF
325 > EOF
326 creating http peer for wire protocol version 2
326 creating http peer for wire protocol version 2
327 sending changesetdata command
327 sending changesetdata command
328 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
328 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
329 s> Accept-Encoding: identity\r\n
329 s> Accept-Encoding: identity\r\n
330 s> accept: application/mercurial-exp-framing-0005\r\n
330 s> accept: application/mercurial-exp-framing-0005\r\n
331 s> content-type: application/mercurial-exp-framing-0005\r\n
331 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -379,7 +379,7 b' Phase data is transferred upon request'
379 > EOF
379 > EOF
380 creating http peer for wire protocol version 2
380 creating http peer for wire protocol version 2
381 sending changesetdata command
381 sending changesetdata command
382 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
382 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
383 s> Accept-Encoding: identity\r\n
383 s> Accept-Encoding: identity\r\n
384 s> accept: application/mercurial-exp-framing-0005\r\n
384 s> accept: application/mercurial-exp-framing-0005\r\n
385 s> content-type: application/mercurial-exp-framing-0005\r\n
385 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -430,7 +430,7 b' Revision data is transferred upon reques'
430 > EOF
430 > EOF
431 creating http peer for wire protocol version 2
431 creating http peer for wire protocol version 2
432 sending changesetdata command
432 sending changesetdata command
433 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
433 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
434 s> Accept-Encoding: identity\r\n
434 s> Accept-Encoding: identity\r\n
435 s> accept: application/mercurial-exp-framing-0005\r\n
435 s> accept: application/mercurial-exp-framing-0005\r\n
436 s> content-type: application/mercurial-exp-framing-0005\r\n
436 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -451,16 +451,16 b' Revision data is transferred upon reques'
451 s> \xa1FstatusBok
451 s> \xa1FstatusBok
452 s> \r\n
452 s> \r\n
453 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
453 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
454 s> 7e\r\n
454 s> 8c\r\n
455 s> v\x00\x00\x01\x00\x02\x001
455 s> \x84\x00\x00\x01\x00\x02\x001
456 s> \xa1Jtotalitems\x01\xa2DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11Lrevisionsize\x18=X=1b74476799ec8318045db759b1b4bcc9b839d0aa\n
456 s> \xa1Jtotalitems\x01\xa2Ofieldsfollowing\x81\x82Hrevision\x18=DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11X=1b74476799ec8318045db759b1b4bcc9b839d0aa\n
457 s> test\n
457 s> test\n
458 s> 0 0\n
458 s> 0 0\n
459 s> a\n
459 s> a\n
460 s> \n
460 s> \n
461 s> commit 3
461 s> commit 3
462 s> \r\n
462 s> \r\n
463 received frame(size=118; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
463 received frame(size=132; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
464 s> 8\r\n
464 s> 8\r\n
465 s> \x00\x00\x00\x01\x00\x02\x002
465 s> \x00\x00\x00\x01\x00\x02\x002
466 s> \r\n
466 s> \r\n
@@ -472,8 +472,13 b' Revision data is transferred upon reques'
472 b'totalitems': 1
472 b'totalitems': 1
473 },
473 },
474 {
474 {
475 b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11',
475 b'fieldsfollowing': [
476 b'revisionsize': 61
476 [
477 b'revision',
478 61
479 ]
480 ],
481 b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11'
477 },
482 },
478 b'1b74476799ec8318045db759b1b4bcc9b839d0aa\ntest\n0 0\na\n\ncommit 3'
483 b'1b74476799ec8318045db759b1b4bcc9b839d0aa\ntest\n0 0\na\n\ncommit 3'
479 ]
484 ]
@@ -487,7 +492,7 b" Bookmarks key isn't present if no bookma"
487 > EOF
492 > EOF
488 creating http peer for wire protocol version 2
493 creating http peer for wire protocol version 2
489 sending changesetdata command
494 sending changesetdata command
490 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
495 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
491 s> Accept-Encoding: identity\r\n
496 s> Accept-Encoding: identity\r\n
492 s> accept: application/mercurial-exp-framing-0005\r\n
497 s> accept: application/mercurial-exp-framing-0005\r\n
493 s> content-type: application/mercurial-exp-framing-0005\r\n
498 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -550,7 +555,7 b' Bookmarks are sent when requested'
550 > EOF
555 > EOF
551 creating http peer for wire protocol version 2
556 creating http peer for wire protocol version 2
552 sending changesetdata command
557 sending changesetdata command
553 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
558 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
554 s> Accept-Encoding: identity\r\n
559 s> Accept-Encoding: identity\r\n
555 s> accept: application/mercurial-exp-framing-0005\r\n
560 s> accept: application/mercurial-exp-framing-0005\r\n
556 s> content-type: application/mercurial-exp-framing-0005\r\n
561 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -616,7 +621,7 b' Bookmarks are sent when we make a no-new'
616 > EOF
621 > EOF
617 creating http peer for wire protocol version 2
622 creating http peer for wire protocol version 2
618 sending changesetdata command
623 sending changesetdata command
619 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
624 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
620 s> Accept-Encoding: identity\r\n
625 s> Accept-Encoding: identity\r\n
621 s> accept: application/mercurial-exp-framing-0005\r\n
626 s> accept: application/mercurial-exp-framing-0005\r\n
622 s> content-type: application/mercurial-exp-framing-0005\r\n
627 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -637,22 +642,22 b' Bookmarks are sent when we make a no-new'
637 s> \xa1FstatusBok
642 s> \xa1FstatusBok
638 s> \r\n
643 s> \r\n
639 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
644 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
640 s> 12f\r\n
645 s> 14b\r\n
641 s> \'\x01\x00\x01\x00\x02\x001
646 s> C\x01\x00\x01\x00\x02\x001
642 s> \xa1Jtotalitems\x02\xa2DnodeTu\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1Lrevisionsize\x18?X?7f144aea0ba742713887b564d57e9d12f12ff382\n
647 s> \xa1Jtotalitems\x02\xa2Ofieldsfollowing\x81\x82Hrevision\x18?DnodeTu\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1X?7f144aea0ba742713887b564d57e9d12f12ff382\n
643 s> test\n
648 s> test\n
644 s> 0 0\n
649 s> 0 0\n
645 s> a\n
650 s> a\n
646 s> b\n
651 s> b\n
647 s> \n
652 s> \n
648 s> commit 1\xa3Ibookmarks\x81Fbook-1DnodeT\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xddLrevisionsize\x18=X=37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\n
653 s> commit 1\xa3Ibookmarks\x81Fbook-1Ofieldsfollowing\x81\x82Hrevision\x18=DnodeT\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xddX=37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\n
649 s> test\n
654 s> test\n
650 s> 0 0\n
655 s> 0 0\n
651 s> b\n
656 s> b\n
652 s> \n
657 s> \n
653 s> commit 2\xa2Ibookmarks\x82Fbook-2Fbook-3DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11
658 s> commit 2\xa2Ibookmarks\x82Fbook-2Fbook-3DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11
654 s> \r\n
659 s> \r\n
655 received frame(size=295; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
660 received frame(size=323; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
656 s> 8\r\n
661 s> 8\r\n
657 s> \x00\x00\x00\x01\x00\x02\x002
662 s> \x00\x00\x00\x01\x00\x02\x002
658 s> \r\n
663 s> \r\n
@@ -664,16 +669,26 b' Bookmarks are sent when we make a no-new'
664 b'totalitems': 2
669 b'totalitems': 2
665 },
670 },
666 {
671 {
667 b'node': b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1',
672 b'fieldsfollowing': [
668 b'revisionsize': 63
673 [
674 b'revision',
675 63
676 ]
677 ],
678 b'node': b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1'
669 },
679 },
670 b'7f144aea0ba742713887b564d57e9d12f12ff382\ntest\n0 0\na\nb\n\ncommit 1',
680 b'7f144aea0ba742713887b564d57e9d12f12ff382\ntest\n0 0\na\nb\n\ncommit 1',
671 {
681 {
672 b'bookmarks': [
682 b'bookmarks': [
673 b'book-1'
683 b'book-1'
674 ],
684 ],
675 b'node': b'\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xdd',
685 b'fieldsfollowing': [
676 b'revisionsize': 61
686 [
687 b'revision',
688 61
689 ]
690 ],
691 b'node': b'\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xdd'
677 },
692 },
678 b'37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\ntest\n0 0\nb\n\ncommit 2',
693 b'37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\ntest\n0 0\nb\n\ncommit 2',
679 {
694 {
@@ -694,7 +709,7 b' Multiple fields can be transferred'
694 > EOF
709 > EOF
695 creating http peer for wire protocol version 2
710 creating http peer for wire protocol version 2
696 sending changesetdata command
711 sending changesetdata command
697 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
712 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
698 s> Accept-Encoding: identity\r\n
713 s> Accept-Encoding: identity\r\n
699 s> accept: application/mercurial-exp-framing-0005\r\n
714 s> accept: application/mercurial-exp-framing-0005\r\n
700 s> content-type: application/mercurial-exp-framing-0005\r\n
715 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -715,16 +730,16 b' Multiple fields can be transferred'
715 s> \xa1FstatusBok
730 s> \xa1FstatusBok
716 s> \r\n
731 s> \r\n
717 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
732 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
718 s> b1\r\n
733 s> bf\r\n
719 s> \xa9\x00\x00\x01\x00\x02\x001
734 s> \xb7\x00\x00\x01\x00\x02\x001
720 s> \xa1Jtotalitems\x01\xa3DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11Gparents\x82T3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Lrevisionsize\x18=X=1b74476799ec8318045db759b1b4bcc9b839d0aa\n
735 s> \xa1Jtotalitems\x01\xa3Ofieldsfollowing\x81\x82Hrevision\x18=DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11Gparents\x82T3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00X=1b74476799ec8318045db759b1b4bcc9b839d0aa\n
721 s> test\n
736 s> test\n
722 s> 0 0\n
737 s> 0 0\n
723 s> a\n
738 s> a\n
724 s> \n
739 s> \n
725 s> commit 3
740 s> commit 3
726 s> \r\n
741 s> \r\n
727 received frame(size=169; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
742 received frame(size=183; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
728 s> 8\r\n
743 s> 8\r\n
729 s> \x00\x00\x00\x01\x00\x02\x002
744 s> \x00\x00\x00\x01\x00\x02\x002
730 s> \r\n
745 s> \r\n
@@ -736,12 +751,17 b' Multiple fields can be transferred'
736 b'totalitems': 1
751 b'totalitems': 1
737 },
752 },
738 {
753 {
754 b'fieldsfollowing': [
755 [
756 b'revision',
757 61
758 ]
759 ],
739 b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11',
760 b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11',
740 b'parents': [
761 b'parents': [
741 b'3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:',
762 b'3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:',
742 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
763 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
743 ],
764 ]
744 b'revisionsize': 61
745 },
765 },
746 b'1b74476799ec8318045db759b1b4bcc9b839d0aa\ntest\n0 0\na\n\ncommit 3'
766 b'1b74476799ec8318045db759b1b4bcc9b839d0aa\ntest\n0 0\na\n\ncommit 3'
747 ]
767 ]
@@ -755,7 +775,7 b' Base nodes have just their metadata (e.g'
755 > EOF
775 > EOF
756 creating http peer for wire protocol version 2
776 creating http peer for wire protocol version 2
757 sending changesetdata command
777 sending changesetdata command
758 s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n
778 s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n
759 s> Accept-Encoding: identity\r\n
779 s> Accept-Encoding: identity\r\n
760 s> accept: application/mercurial-exp-framing-0005\r\n
780 s> accept: application/mercurial-exp-framing-0005\r\n
761 s> content-type: application/mercurial-exp-framing-0005\r\n
781 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -776,27 +796,27 b' Base nodes have just their metadata (e.g'
776 s> \xa1FstatusBok
796 s> \xa1FstatusBok
777 s> \r\n
797 s> \r\n
778 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
798 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
779 s> 239\r\n
799 s> 263\r\n
780 s> 1\x02\x00\x01\x00\x02\x001
800 s> [\x02\x00\x01\x00\x02\x001
781 s> \xa1Jtotalitems\x03\xa2DnodeT3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:EphaseFpublic\xa4DnodeTu\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1Gparents\x82T3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00EphaseFpublicLrevisionsize\x18?X?7f144aea0ba742713887b564d57e9d12f12ff382\n
801 s> \xa1Jtotalitems\x03\xa2DnodeT3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:EphaseFpublic\xa4Ofieldsfollowing\x81\x82Hrevision\x18?DnodeTu\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1Gparents\x82T3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00EphaseFpublicX?7f144aea0ba742713887b564d57e9d12f12ff382\n
782 s> test\n
802 s> test\n
783 s> 0 0\n
803 s> 0 0\n
784 s> a\n
804 s> a\n
785 s> b\n
805 s> b\n
786 s> \n
806 s> \n
787 s> commit 1\xa4DnodeT\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xddGparents\x82Tu\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00EphaseFpublicLrevisionsize\x18=X=37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\n
807 s> commit 1\xa4Ofieldsfollowing\x81\x82Hrevision\x18=DnodeT\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xddGparents\x82Tu\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00EphaseFpublicX=37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\n
788 s> test\n
808 s> test\n
789 s> 0 0\n
809 s> 0 0\n
790 s> b\n
810 s> b\n
791 s> \n
811 s> \n
792 s> commit 2\xa4DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11Gparents\x82T3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00EphaseEdraftLrevisionsize\x18=X=1b74476799ec8318045db759b1b4bcc9b839d0aa\n
812 s> commit 2\xa4Ofieldsfollowing\x81\x82Hrevision\x18=DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11Gparents\x82T3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00EphaseEdraftX=1b74476799ec8318045db759b1b4bcc9b839d0aa\n
793 s> test\n
813 s> test\n
794 s> 0 0\n
814 s> 0 0\n
795 s> a\n
815 s> a\n
796 s> \n
816 s> \n
797 s> commit 3
817 s> commit 3
798 s> \r\n
818 s> \r\n
799 received frame(size=561; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
819 received frame(size=603; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
800 s> 8\r\n
820 s> 8\r\n
801 s> \x00\x00\x00\x01\x00\x02\x002
821 s> \x00\x00\x00\x01\x00\x02\x002
802 s> \r\n
822 s> \r\n
@@ -812,33 +832,48 b' Base nodes have just their metadata (e.g'
812 b'phase': b'public'
832 b'phase': b'public'
813 },
833 },
814 {
834 {
835 b'fieldsfollowing': [
836 [
837 b'revision',
838 63
839 ]
840 ],
815 b'node': b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1',
841 b'node': b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1',
816 b'parents': [
842 b'parents': [
817 b'3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:',
843 b'3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:',
818 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
844 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
819 ],
845 ],
820 b'phase': b'public',
846 b'phase': b'public'
821 b'revisionsize': 63
822 },
847 },
823 b'7f144aea0ba742713887b564d57e9d12f12ff382\ntest\n0 0\na\nb\n\ncommit 1',
848 b'7f144aea0ba742713887b564d57e9d12f12ff382\ntest\n0 0\na\nb\n\ncommit 1',
824 {
849 {
850 b'fieldsfollowing': [
851 [
852 b'revision',
853 61
854 ]
855 ],
825 b'node': b'\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xdd',
856 b'node': b'\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xdd',
826 b'parents': [
857 b'parents': [
827 b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1',
858 b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1',
828 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
859 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
829 ],
860 ],
830 b'phase': b'public',
861 b'phase': b'public'
831 b'revisionsize': 61
832 },
862 },
833 b'37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\ntest\n0 0\nb\n\ncommit 2',
863 b'37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\ntest\n0 0\nb\n\ncommit 2',
834 {
864 {
865 b'fieldsfollowing': [
866 [
867 b'revision',
868 61
869 ]
870 ],
835 b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11',
871 b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11',
836 b'parents': [
872 b'parents': [
837 b'3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:',
873 b'3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:',
838 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
874 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
839 ],
875 ],
840 b'phase': b'draft',
876 b'phase': b'draft'
841 b'revisionsize': 61
842 },
877 },
843 b'1b74476799ec8318045db759b1b4bcc9b839d0aa\ntest\n0 0\na\n\ncommit 3'
878 b'1b74476799ec8318045db759b1b4bcc9b839d0aa\ntest\n0 0\na\n\ncommit 3'
844 ]
879 ]
@@ -284,11 +284,11 b' Requesting revision data works'
284 s> \xa1FstatusBok
284 s> \xa1FstatusBok
285 s> \r\n
285 s> \r\n
286 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
286 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
287 s> 42\r\n
287 s> 50\r\n
288 s> :\x00\x00\x01\x00\x02\x001
288 s> H\x00\x00\x01\x00\x02\x001
289 s> \xa1Jtotalitems\x01\xa2DnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccLrevisionsize\x03Ca1\n
289 s> \xa1Jtotalitems\x01\xa2Ofieldsfollowing\x81\x82Hrevision\x03DnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccCa1\n
290 s> \r\n
290 s> \r\n
291 received frame(size=58; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
291 received frame(size=72; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
292 s> 8\r\n
292 s> 8\r\n
293 s> \x00\x00\x00\x01\x00\x02\x002
293 s> \x00\x00\x00\x01\x00\x02\x002
294 s> \r\n
294 s> \r\n
@@ -300,8 +300,13 b' Requesting revision data works'
300 b'totalitems': 1
300 b'totalitems': 1
301 },
301 },
302 {
302 {
303 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc',
303 b'fieldsfollowing': [
304 b'revisionsize': 3
304 [
305 b'revision',
306 3
307 ]
308 ],
309 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc'
305 },
310 },
306 b'a1\n'
311 b'a1\n'
307 ]
312 ]
@@ -338,11 +343,11 b' haveparents=False should be same as abov'
338 s> \xa1FstatusBok
343 s> \xa1FstatusBok
339 s> \r\n
344 s> \r\n
340 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
345 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
341 s> 42\r\n
346 s> 50\r\n
342 s> :\x00\x00\x01\x00\x02\x001
347 s> H\x00\x00\x01\x00\x02\x001
343 s> \xa1Jtotalitems\x01\xa2DnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccLrevisionsize\x03Ca1\n
348 s> \xa1Jtotalitems\x01\xa2Ofieldsfollowing\x81\x82Hrevision\x03DnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccCa1\n
344 s> \r\n
349 s> \r\n
345 received frame(size=58; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
350 received frame(size=72; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
346 s> 8\r\n
351 s> 8\r\n
347 s> \x00\x00\x00\x01\x00\x02\x002
352 s> \x00\x00\x00\x01\x00\x02\x002
348 s> \r\n
353 s> \r\n
@@ -354,8 +359,13 b' haveparents=False should be same as abov'
354 b'totalitems': 1
359 b'totalitems': 1
355 },
360 },
356 {
361 {
357 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc',
362 b'fieldsfollowing': [
358 b'revisionsize': 3
363 [
364 b'revision',
365 3
366 ]
367 ],
368 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc'
359 },
369 },
360 b'a1\n'
370 b'a1\n'
361 ]
371 ]
@@ -392,12 +402,12 b' haveparents=True should emit a delta'
392 s> \xa1FstatusBok
402 s> \xa1FstatusBok
393 s> \r\n
403 s> \r\n
394 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
404 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
395 s> 6e\r\n
405 s> 7c\r\n
396 s> f\x00\x00\x01\x00\x02\x001
406 s> t\x00\x00\x01\x00\x02\x001
397 s> \xa1Jtotalitems\x01\xa3MdeltabasenodeT+N\xb0s\x19\xbf\xa0w\xa4\n
407 s> \xa1Jtotalitems\x01\xa3MdeltabasenodeT+N\xb0s\x19\xbf\xa0w\xa4\n
398 s> /\x04\x916Y\xae\xf0\xdaB\xdaIdeltasize\x0fDnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccO\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n
408 s> /\x04\x916Y\xae\xf0\xdaB\xdaOfieldsfollowing\x81\x82Edelta\x0fDnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccO\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n
399 s> \r\n
409 s> \r\n
400 received frame(size=102; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
410 received frame(size=116; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
401 s> 8\r\n
411 s> 8\r\n
402 s> \x00\x00\x00\x01\x00\x02\x002
412 s> \x00\x00\x00\x01\x00\x02\x002
403 s> \r\n
413 s> \r\n
@@ -410,7 +420,12 b' haveparents=True should emit a delta'
410 },
420 },
411 {
421 {
412 b'deltabasenode': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
422 b'deltabasenode': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
413 b'deltasize': 15,
423 b'fieldsfollowing': [
424 [
425 b'delta',
426 15
427 ]
428 ],
414 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc'
429 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc'
415 },
430 },
416 b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n'
431 b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n'
@@ -449,14 +464,14 b' Requesting multiple revisions works'
449 s> \xa1FstatusBok
464 s> \xa1FstatusBok
450 s> \r\n
465 s> \r\n
451 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
466 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
452 s> 9b\r\n
467 s> b7\r\n
453 s> \x93\x00\x00\x01\x00\x02\x001
468 s> \xaf\x00\x00\x01\x00\x02\x001
454 s> \xa1Jtotalitems\x02\xa2DnodeT+N\xb0s\x19\xbf\xa0w\xa4\n
469 s> \xa1Jtotalitems\x02\xa2Ofieldsfollowing\x81\x82Hrevision\x03DnodeT+N\xb0s\x19\xbf\xa0w\xa4\n
455 s> /\x04\x916Y\xae\xf0\xdaB\xdaLrevisionsize\x03Ca0\n
470 s> /\x04\x916Y\xae\xf0\xdaB\xdaCa0\n
456 s> \xa3MdeltabasenodeT+N\xb0s\x19\xbf\xa0w\xa4\n
471 s> \xa3MdeltabasenodeT+N\xb0s\x19\xbf\xa0w\xa4\n
457 s> /\x04\x916Y\xae\xf0\xdaB\xdaIdeltasize\x0fDnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccO\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n
472 s> /\x04\x916Y\xae\xf0\xdaB\xdaOfieldsfollowing\x81\x82Edelta\x0fDnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccO\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n
458 s> \r\n
473 s> \r\n
459 received frame(size=147; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
474 received frame(size=175; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
460 s> 8\r\n
475 s> 8\r\n
461 s> \x00\x00\x00\x01\x00\x02\x002
476 s> \x00\x00\x00\x01\x00\x02\x002
462 s> \r\n
477 s> \r\n
@@ -468,13 +483,23 b' Requesting multiple revisions works'
468 b'totalitems': 2
483 b'totalitems': 2
469 },
484 },
470 {
485 {
471 b'node': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
486 b'fieldsfollowing': [
472 b'revisionsize': 3
487 [
488 b'revision',
489 3
490 ]
491 ],
492 b'node': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda'
473 },
493 },
474 b'a0\n',
494 b'a0\n',
475 {
495 {
476 b'deltabasenode': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
496 b'deltabasenode': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
477 b'deltasize': 15,
497 b'fieldsfollowing': [
498 [
499 b'delta',
500 15
501 ]
502 ],
478 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc'
503 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc'
479 },
504 },
480 b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n'
505 b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n'
@@ -512,14 +537,14 b' Revisions are sorted by DAG order, paren'
512 s> \xa1FstatusBok
537 s> \xa1FstatusBok
513 s> \r\n
538 s> \r\n
514 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
539 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
515 s> 9b\r\n
540 s> b7\r\n
516 s> \x93\x00\x00\x01\x00\x02\x001
541 s> \xaf\x00\x00\x01\x00\x02\x001
517 s> \xa1Jtotalitems\x02\xa2DnodeT+N\xb0s\x19\xbf\xa0w\xa4\n
542 s> \xa1Jtotalitems\x02\xa2Ofieldsfollowing\x81\x82Hrevision\x03DnodeT+N\xb0s\x19\xbf\xa0w\xa4\n
518 s> /\x04\x916Y\xae\xf0\xdaB\xdaLrevisionsize\x03Ca0\n
543 s> /\x04\x916Y\xae\xf0\xdaB\xdaCa0\n
519 s> \xa3MdeltabasenodeT+N\xb0s\x19\xbf\xa0w\xa4\n
544 s> \xa3MdeltabasenodeT+N\xb0s\x19\xbf\xa0w\xa4\n
520 s> /\x04\x916Y\xae\xf0\xdaB\xdaIdeltasize\x0fDnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccO\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n
545 s> /\x04\x916Y\xae\xf0\xdaB\xdaOfieldsfollowing\x81\x82Edelta\x0fDnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccO\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n
521 s> \r\n
546 s> \r\n
522 received frame(size=147; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
547 received frame(size=175; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
523 s> 8\r\n
548 s> 8\r\n
524 s> \x00\x00\x00\x01\x00\x02\x002
549 s> \x00\x00\x00\x01\x00\x02\x002
525 s> \r\n
550 s> \r\n
@@ -531,13 +556,23 b' Revisions are sorted by DAG order, paren'
531 b'totalitems': 2
556 b'totalitems': 2
532 },
557 },
533 {
558 {
534 b'node': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
559 b'fieldsfollowing': [
535 b'revisionsize': 3
560 [
561 b'revision',
562 3
563 ]
564 ],
565 b'node': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda'
536 },
566 },
537 b'a0\n',
567 b'a0\n',
538 {
568 {
539 b'deltabasenode': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
569 b'deltabasenode': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
540 b'deltasize': 15,
570 b'fieldsfollowing': [
571 [
572 b'delta',
573 15
574 ]
575 ],
541 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc'
576 b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc'
542 },
577 },
543 b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n'
578 b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n'
@@ -574,12 +609,12 b' Requesting parents and revision data wor'
574 s> \xa1FstatusBok
609 s> \xa1FstatusBok
575 s> \r\n
610 s> \r\n
576 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
611 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
577 s> 75\r\n
612 s> 83\r\n
578 s> m\x00\x00\x01\x00\x02\x001
613 s> {\x00\x00\x01\x00\x02\x001
579 s> \xa1Jtotalitems\x01\xa3DnodeT\x08y4^97r)cKB\x0cc\x94T\x15g&\xc6\xb6Gparents\x82T+N\xb0s\x19\xbf\xa0w\xa4\n
614 s> \xa1Jtotalitems\x01\xa3Ofieldsfollowing\x81\x82Hrevision\x03DnodeT\x08y4^97r)cKB\x0cc\x94T\x15g&\xc6\xb6Gparents\x82T+N\xb0s\x19\xbf\xa0w\xa4\n
580 s> /\x04\x916Y\xae\xf0\xdaB\xdaT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Lrevisionsize\x03Ca2\n
615 s> /\x04\x916Y\xae\xf0\xdaB\xdaT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Ca2\n
581 s> \r\n
616 s> \r\n
582 received frame(size=109; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
617 received frame(size=123; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
583 s> 8\r\n
618 s> 8\r\n
584 s> \x00\x00\x00\x01\x00\x02\x002
619 s> \x00\x00\x00\x01\x00\x02\x002
585 s> \r\n
620 s> \r\n
@@ -591,12 +626,17 b' Requesting parents and revision data wor'
591 b'totalitems': 1
626 b'totalitems': 1
592 },
627 },
593 {
628 {
629 b'fieldsfollowing': [
630 [
631 b'revision',
632 3
633 ]
634 ],
594 b'node': b'\x08y4^97r)cKB\x0cc\x94T\x15g&\xc6\xb6',
635 b'node': b'\x08y4^97r)cKB\x0cc\x94T\x15g&\xc6\xb6',
595 b'parents': [
636 b'parents': [
596 b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
637 b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda',
597 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
638 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
598 ],
639 ]
599 b'revisionsize': 3
600 },
640 },
601 b'a2\n'
641 b'a2\n'
602 ]
642 ]
@@ -35,7 +35,7 b' All non-secret heads returned by default'
35 > EOF
35 > EOF
36 creating http peer for wire protocol version 2
36 creating http peer for wire protocol version 2
37 sending heads command
37 sending heads command
38 s> POST /api/exp-http-v2-0001/ro/heads HTTP/1.1\r\n
38 s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n
39 s> Accept-Encoding: identity\r\n
39 s> Accept-Encoding: identity\r\n
40 s> accept: application/mercurial-exp-framing-0005\r\n
40 s> accept: application/mercurial-exp-framing-0005\r\n
41 s> content-type: application/mercurial-exp-framing-0005\r\n
41 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -81,7 +81,7 b' Requesting just the public heads works'
81 > EOF
81 > EOF
82 creating http peer for wire protocol version 2
82 creating http peer for wire protocol version 2
83 sending heads command
83 sending heads command
84 s> POST /api/exp-http-v2-0001/ro/heads HTTP/1.1\r\n
84 s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n
85 s> Accept-Encoding: identity\r\n
85 s> Accept-Encoding: identity\r\n
86 s> accept: application/mercurial-exp-framing-0005\r\n
86 s> accept: application/mercurial-exp-framing-0005\r\n
87 s> content-type: application/mercurial-exp-framing-0005\r\n
87 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -27,7 +27,7 b' No arguments returns something reasonabl'
27 > EOF
27 > EOF
28 creating http peer for wire protocol version 2
28 creating http peer for wire protocol version 2
29 sending known command
29 sending known command
30 s> POST /api/exp-http-v2-0001/ro/known HTTP/1.1\r\n
30 s> POST /api/exp-http-v2-0002/ro/known HTTP/1.1\r\n
31 s> Accept-Encoding: identity\r\n
31 s> Accept-Encoding: identity\r\n
32 s> accept: application/mercurial-exp-framing-0005\r\n
32 s> accept: application/mercurial-exp-framing-0005\r\n
33 s> content-type: application/mercurial-exp-framing-0005\r\n
33 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -69,7 +69,7 b' Single known node works'
69 > EOF
69 > EOF
70 creating http peer for wire protocol version 2
70 creating http peer for wire protocol version 2
71 sending known command
71 sending known command
72 s> POST /api/exp-http-v2-0001/ro/known HTTP/1.1\r\n
72 s> POST /api/exp-http-v2-0002/ro/known HTTP/1.1\r\n
73 s> Accept-Encoding: identity\r\n
73 s> Accept-Encoding: identity\r\n
74 s> accept: application/mercurial-exp-framing-0005\r\n
74 s> accept: application/mercurial-exp-framing-0005\r\n
75 s> content-type: application/mercurial-exp-framing-0005\r\n
75 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -113,7 +113,7 b' Multiple nodes works'
113 > EOF
113 > EOF
114 creating http peer for wire protocol version 2
114 creating http peer for wire protocol version 2
115 sending known command
115 sending known command
116 s> POST /api/exp-http-v2-0001/ro/known HTTP/1.1\r\n
116 s> POST /api/exp-http-v2-0002/ro/known HTTP/1.1\r\n
117 s> Accept-Encoding: identity\r\n
117 s> Accept-Encoding: identity\r\n
118 s> accept: application/mercurial-exp-framing-0005\r\n
118 s> accept: application/mercurial-exp-framing-0005\r\n
119 s> content-type: application/mercurial-exp-framing-0005\r\n
119 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -31,7 +31,7 b' Request for namespaces works'
31 > EOF
31 > EOF
32 creating http peer for wire protocol version 2
32 creating http peer for wire protocol version 2
33 sending listkeys command
33 sending listkeys command
34 s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n
34 s> POST /api/exp-http-v2-0002/ro/listkeys HTTP/1.1\r\n
35 s> Accept-Encoding: identity\r\n
35 s> Accept-Encoding: identity\r\n
36 s> accept: application/mercurial-exp-framing-0005\r\n
36 s> accept: application/mercurial-exp-framing-0005\r\n
37 s> content-type: application/mercurial-exp-framing-0005\r\n
37 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -77,7 +77,7 b' Request for phases works'
77 > EOF
77 > EOF
78 creating http peer for wire protocol version 2
78 creating http peer for wire protocol version 2
79 sending listkeys command
79 sending listkeys command
80 s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n
80 s> POST /api/exp-http-v2-0002/ro/listkeys HTTP/1.1\r\n
81 s> Accept-Encoding: identity\r\n
81 s> Accept-Encoding: identity\r\n
82 s> accept: application/mercurial-exp-framing-0005\r\n
82 s> accept: application/mercurial-exp-framing-0005\r\n
83 s> content-type: application/mercurial-exp-framing-0005\r\n
83 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -122,7 +122,7 b' Request for bookmarks works'
122 > EOF
122 > EOF
123 creating http peer for wire protocol version 2
123 creating http peer for wire protocol version 2
124 sending listkeys command
124 sending listkeys command
125 s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n
125 s> POST /api/exp-http-v2-0002/ro/listkeys HTTP/1.1\r\n
126 s> Accept-Encoding: identity\r\n
126 s> Accept-Encoding: identity\r\n
127 s> accept: application/mercurial-exp-framing-0005\r\n
127 s> accept: application/mercurial-exp-framing-0005\r\n
128 s> content-type: application/mercurial-exp-framing-0005\r\n
128 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -49,7 +49,7 b' Missing arguments is an error'
49 > EOF
49 > EOF
50 creating http peer for wire protocol version 2
50 creating http peer for wire protocol version 2
51 sending manifestdata command
51 sending manifestdata command
52 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
52 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
53 s> Accept-Encoding: identity\r\n
53 s> Accept-Encoding: identity\r\n
54 s> accept: application/mercurial-exp-framing-0005\r\n
54 s> accept: application/mercurial-exp-framing-0005\r\n
55 s> content-type: application/mercurial-exp-framing-0005\r\n
55 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -81,7 +81,7 b' Missing arguments is an error'
81 > EOF
81 > EOF
82 creating http peer for wire protocol version 2
82 creating http peer for wire protocol version 2
83 sending manifestdata command
83 sending manifestdata command
84 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
84 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
85 s> Accept-Encoding: identity\r\n
85 s> Accept-Encoding: identity\r\n
86 s> accept: application/mercurial-exp-framing-0005\r\n
86 s> accept: application/mercurial-exp-framing-0005\r\n
87 s> content-type: application/mercurial-exp-framing-0005\r\n
87 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -116,7 +116,7 b' Unknown node is an error'
116 > EOF
116 > EOF
117 creating http peer for wire protocol version 2
117 creating http peer for wire protocol version 2
118 sending manifestdata command
118 sending manifestdata command
119 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
119 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
120 s> Accept-Encoding: identity\r\n
120 s> Accept-Encoding: identity\r\n
121 s> accept: application/mercurial-exp-framing-0005\r\n
121 s> accept: application/mercurial-exp-framing-0005\r\n
122 s> content-type: application/mercurial-exp-framing-0005\r\n
122 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -151,7 +151,7 b' Fetching a single revision returns just '
151 > EOF
151 > EOF
152 creating http peer for wire protocol version 2
152 creating http peer for wire protocol version 2
153 sending manifestdata command
153 sending manifestdata command
154 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
154 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
155 s> Accept-Encoding: identity\r\n
155 s> Accept-Encoding: identity\r\n
156 s> accept: application/mercurial-exp-framing-0005\r\n
156 s> accept: application/mercurial-exp-framing-0005\r\n
157 s> content-type: application/mercurial-exp-framing-0005\r\n
157 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -202,7 +202,7 b' Requesting parents works'
202 > EOF
202 > EOF
203 creating http peer for wire protocol version 2
203 creating http peer for wire protocol version 2
204 sending manifestdata command
204 sending manifestdata command
205 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
205 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
206 s> Accept-Encoding: identity\r\n
206 s> Accept-Encoding: identity\r\n
207 s> accept: application/mercurial-exp-framing-0005\r\n
207 s> accept: application/mercurial-exp-framing-0005\r\n
208 s> content-type: application/mercurial-exp-framing-0005\r\n
208 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -258,7 +258,7 b' Requesting revision data works'
258 > EOF
258 > EOF
259 creating http peer for wire protocol version 2
259 creating http peer for wire protocol version 2
260 sending manifestdata command
260 sending manifestdata command
261 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
261 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
262 s> Accept-Encoding: identity\r\n
262 s> Accept-Encoding: identity\r\n
263 s> accept: application/mercurial-exp-framing-0005\r\n
263 s> accept: application/mercurial-exp-framing-0005\r\n
264 s> content-type: application/mercurial-exp-framing-0005\r\n
264 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -279,16 +279,16 b' Requesting revision data works'
279 s> \xa1FstatusBok
279 s> \xa1FstatusBok
280 s> \r\n
280 s> \r\n
281 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
281 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
282 s> 167\r\n
282 s> 175\r\n
283 s> _\x01\x00\x01\x00\x02\x001
283 s> m\x01\x00\x01\x00\x02\x001
284 s> \xa1Jtotalitems\x01\xa2DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0Lrevisionsize\x19\x01$Y\x01$a\x000879345e39377229634b420c639454156726c6b6\n
284 s> \xa1Jtotalitems\x01\xa2Ofieldsfollowing\x81\x82Hrevision\x19\x01$DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0Y\x01$a\x000879345e39377229634b420c639454156726c6b6\n
285 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
285 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
286 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
286 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
287 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
287 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
288 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
288 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
289 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
289 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
290 s> \r\n
290 s> \r\n
291 received frame(size=351; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
291 received frame(size=365; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
292 s> 8\r\n
292 s> 8\r\n
293 s> \x00\x00\x00\x01\x00\x02\x002
293 s> \x00\x00\x00\x01\x00\x02\x002
294 s> \r\n
294 s> \r\n
@@ -300,8 +300,13 b' Requesting revision data works'
300 b'totalitems': 1
300 b'totalitems': 1
301 },
301 },
302 {
302 {
303 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0',
303 b'fieldsfollowing': [
304 b'revisionsize': 292
304 [
305 b'revision',
306 292
307 ]
308 ],
309 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
305 },
310 },
306 b'a\x000879345e39377229634b420c639454156726c6b6\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n'
311 b'a\x000879345e39377229634b420c639454156726c6b6\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n'
307 ]
312 ]
@@ -317,7 +322,7 b' haveparents=False yields same output'
317 > EOF
322 > EOF
318 creating http peer for wire protocol version 2
323 creating http peer for wire protocol version 2
319 sending manifestdata command
324 sending manifestdata command
320 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
325 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
321 s> Accept-Encoding: identity\r\n
326 s> Accept-Encoding: identity\r\n
322 s> accept: application/mercurial-exp-framing-0005\r\n
327 s> accept: application/mercurial-exp-framing-0005\r\n
323 s> content-type: application/mercurial-exp-framing-0005\r\n
328 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -338,16 +343,16 b' haveparents=False yields same output'
338 s> \xa1FstatusBok
343 s> \xa1FstatusBok
339 s> \r\n
344 s> \r\n
340 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
345 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
341 s> 167\r\n
346 s> 175\r\n
342 s> _\x01\x00\x01\x00\x02\x001
347 s> m\x01\x00\x01\x00\x02\x001
343 s> \xa1Jtotalitems\x01\xa2DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0Lrevisionsize\x19\x01$Y\x01$a\x000879345e39377229634b420c639454156726c6b6\n
348 s> \xa1Jtotalitems\x01\xa2Ofieldsfollowing\x81\x82Hrevision\x19\x01$DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0Y\x01$a\x000879345e39377229634b420c639454156726c6b6\n
344 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
349 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
345 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
350 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
346 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
351 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
347 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
352 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
348 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
353 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
349 s> \r\n
354 s> \r\n
350 received frame(size=351; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
355 received frame(size=365; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
351 s> 8\r\n
356 s> 8\r\n
352 s> \x00\x00\x00\x01\x00\x02\x002
357 s> \x00\x00\x00\x01\x00\x02\x002
353 s> \r\n
358 s> \r\n
@@ -359,8 +364,13 b' haveparents=False yields same output'
359 b'totalitems': 1
364 b'totalitems': 1
360 },
365 },
361 {
366 {
362 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0',
367 b'fieldsfollowing': [
363 b'revisionsize': 292
368 [
369 b'revision',
370 292
371 ]
372 ],
373 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
364 },
374 },
365 b'a\x000879345e39377229634b420c639454156726c6b6\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n'
375 b'a\x000879345e39377229634b420c639454156726c6b6\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n'
366 ]
376 ]
@@ -376,7 +386,7 b' haveparents=True will emit delta'
376 > EOF
386 > EOF
377 creating http peer for wire protocol version 2
387 creating http peer for wire protocol version 2
378 sending manifestdata command
388 sending manifestdata command
379 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
389 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
380 s> Accept-Encoding: identity\r\n
390 s> Accept-Encoding: identity\r\n
381 s> accept: application/mercurial-exp-framing-0005\r\n
391 s> accept: application/mercurial-exp-framing-0005\r\n
382 s> content-type: application/mercurial-exp-framing-0005\r\n
392 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -397,11 +407,11 b' haveparents=True will emit delta'
397 s> \xa1FstatusBok
407 s> \xa1FstatusBok
398 s> \r\n
408 s> \r\n
399 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
409 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
400 s> 98\r\n
410 s> a6\r\n
401 s> \x90\x00\x00\x01\x00\x02\x001
411 s> \x9e\x00\x00\x01\x00\x02\x001
402 s> \xa1Jtotalitems\x01\xa3MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ideltasize\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
412 s> \xa1Jtotalitems\x01\xa3MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ofieldsfollowing\x81\x82Edelta\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
403 s> \r\n
413 s> \r\n
404 received frame(size=144; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
414 received frame(size=158; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
405 s> 8\r\n
415 s> 8\r\n
406 s> \x00\x00\x00\x01\x00\x02\x002
416 s> \x00\x00\x00\x01\x00\x02\x002
407 s> \r\n
417 s> \r\n
@@ -414,7 +424,12 b' haveparents=True will emit delta'
414 },
424 },
415 {
425 {
416 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
426 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
417 b'deltasize': 55,
427 b'fieldsfollowing': [
428 [
429 b'delta',
430 55
431 ]
432 ],
418 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
433 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
419 },
434 },
420 b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n'
435 b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n'
@@ -432,7 +447,7 b' has been emitted)'
432 > EOF
447 > EOF
433 creating http peer for wire protocol version 2
448 creating http peer for wire protocol version 2
434 sending manifestdata command
449 sending manifestdata command
435 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
450 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
436 s> Accept-Encoding: identity\r\n
451 s> Accept-Encoding: identity\r\n
437 s> accept: application/mercurial-exp-framing-0005\r\n
452 s> accept: application/mercurial-exp-framing-0005\r\n
438 s> content-type: application/mercurial-exp-framing-0005\r\n
453 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -453,17 +468,17 b' has been emitted)'
453 s> \xa1FstatusBok
468 s> \xa1FstatusBok
454 s> \r\n
469 s> \r\n
455 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
470 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
456 s> 1ea\r\n
471 s> 206\r\n
457 s> \xe2\x01\x00\x01\x00\x02\x001
472 s> \xfe\x01\x00\x01\x00\x02\x001
458 s> \xa1Jtotalitems\x02\xa2DnodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Lrevisionsize\x19\x01$Y\x01$a\x002b4eb07319bfa077a40a2f04913659aef0da42da\n
473 s> \xa1Jtotalitems\x02\xa2Ofieldsfollowing\x81\x82Hrevision\x19\x01$DnodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Y\x01$a\x002b4eb07319bfa077a40a2f04913659aef0da42da\n
459 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
474 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
460 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
475 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
461 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
476 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
462 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
477 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
463 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
478 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
464 s> \xa3MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ideltasize\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
479 s> \xa3MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ofieldsfollowing\x81\x82Edelta\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
465 s> \r\n
480 s> \r\n
466 received frame(size=482; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
481 received frame(size=510; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
467 s> 8\r\n
482 s> 8\r\n
468 s> \x00\x00\x00\x01\x00\x02\x002
483 s> \x00\x00\x00\x01\x00\x02\x002
469 s> \r\n
484 s> \r\n
@@ -475,13 +490,23 b' has been emitted)'
475 b'totalitems': 2
490 b'totalitems': 2
476 },
491 },
477 {
492 {
478 b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
493 b'fieldsfollowing': [
479 b'revisionsize': 292
494 [
495 b'revision',
496 292
497 ]
498 ],
499 b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4'
480 },
500 },
481 b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n',
501 b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n',
482 {
502 {
483 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
503 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
484 b'deltasize': 55,
504 b'fieldsfollowing': [
505 [
506 b'delta',
507 55
508 ]
509 ],
485 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
510 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
486 },
511 },
487 b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n'
512 b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n'
@@ -498,7 +523,7 b' With haveparents=True, first revision is'
498 > EOF
523 > EOF
499 creating http peer for wire protocol version 2
524 creating http peer for wire protocol version 2
500 sending manifestdata command
525 sending manifestdata command
501 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
526 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
502 s> Accept-Encoding: identity\r\n
527 s> Accept-Encoding: identity\r\n
503 s> accept: application/mercurial-exp-framing-0005\r\n
528 s> accept: application/mercurial-exp-framing-0005\r\n
504 s> content-type: application/mercurial-exp-framing-0005\r\n
529 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -519,17 +544,17 b' With haveparents=True, first revision is'
519 s> \xa1FstatusBok
544 s> \xa1FstatusBok
520 s> \r\n
545 s> \r\n
521 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
546 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
522 s> 1ea\r\n
547 s> 206\r\n
523 s> \xe2\x01\x00\x01\x00\x02\x001
548 s> \xfe\x01\x00\x01\x00\x02\x001
524 s> \xa1Jtotalitems\x02\xa2DnodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Lrevisionsize\x19\x01$Y\x01$a\x002b4eb07319bfa077a40a2f04913659aef0da42da\n
549 s> \xa1Jtotalitems\x02\xa2Ofieldsfollowing\x81\x82Hrevision\x19\x01$DnodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Y\x01$a\x002b4eb07319bfa077a40a2f04913659aef0da42da\n
525 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
550 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
526 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
551 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
527 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
552 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
528 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
553 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
529 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
554 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
530 s> \xa3MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ideltasize\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
555 s> \xa3MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ofieldsfollowing\x81\x82Edelta\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
531 s> \r\n
556 s> \r\n
532 received frame(size=482; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
557 received frame(size=510; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
533 s> 8\r\n
558 s> 8\r\n
534 s> \x00\x00\x00\x01\x00\x02\x002
559 s> \x00\x00\x00\x01\x00\x02\x002
535 s> \r\n
560 s> \r\n
@@ -541,13 +566,23 b' With haveparents=True, first revision is'
541 b'totalitems': 2
566 b'totalitems': 2
542 },
567 },
543 {
568 {
544 b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
569 b'fieldsfollowing': [
545 b'revisionsize': 292
570 [
571 b'revision',
572 292
573 ]
574 ],
575 b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4'
546 },
576 },
547 b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n',
577 b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n',
548 {
578 {
549 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
579 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
550 b'deltasize': 55,
580 b'fieldsfollowing': [
581 [
582 b'delta',
583 55
584 ]
585 ],
551 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
586 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
552 },
587 },
553 b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n'
588 b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n'
@@ -563,7 +598,7 b' Revisions are sorted by DAG order, paren'
563 > EOF
598 > EOF
564 creating http peer for wire protocol version 2
599 creating http peer for wire protocol version 2
565 sending manifestdata command
600 sending manifestdata command
566 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
601 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
567 s> Accept-Encoding: identity\r\n
602 s> Accept-Encoding: identity\r\n
568 s> accept: application/mercurial-exp-framing-0005\r\n
603 s> accept: application/mercurial-exp-framing-0005\r\n
569 s> content-type: application/mercurial-exp-framing-0005\r\n
604 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -584,17 +619,17 b' Revisions are sorted by DAG order, paren'
584 s> \xa1FstatusBok
619 s> \xa1FstatusBok
585 s> \r\n
620 s> \r\n
586 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
621 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
587 s> 1ea\r\n
622 s> 206\r\n
588 s> \xe2\x01\x00\x01\x00\x02\x001
623 s> \xfe\x01\x00\x01\x00\x02\x001
589 s> \xa1Jtotalitems\x02\xa2DnodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Lrevisionsize\x19\x01$Y\x01$a\x002b4eb07319bfa077a40a2f04913659aef0da42da\n
624 s> \xa1Jtotalitems\x02\xa2Ofieldsfollowing\x81\x82Hrevision\x19\x01$DnodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Y\x01$a\x002b4eb07319bfa077a40a2f04913659aef0da42da\n
590 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
625 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
591 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
626 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
592 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
627 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
593 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
628 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
594 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
629 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
595 s> \xa3MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ideltasize\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
630 s> \xa3MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ofieldsfollowing\x81\x82Edelta\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
596 s> \r\n
631 s> \r\n
597 received frame(size=482; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
632 received frame(size=510; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
598 s> 8\r\n
633 s> 8\r\n
599 s> \x00\x00\x00\x01\x00\x02\x002
634 s> \x00\x00\x00\x01\x00\x02\x002
600 s> \r\n
635 s> \r\n
@@ -606,13 +641,23 b' Revisions are sorted by DAG order, paren'
606 b'totalitems': 2
641 b'totalitems': 2
607 },
642 },
608 {
643 {
609 b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
644 b'fieldsfollowing': [
610 b'revisionsize': 292
645 [
646 b'revision',
647 292
648 ]
649 ],
650 b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4'
611 },
651 },
612 b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n',
652 b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n',
613 {
653 {
614 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
654 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
615 b'deltasize': 55,
655 b'fieldsfollowing': [
656 [
657 b'delta',
658 55
659 ]
660 ],
616 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
661 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0'
617 },
662 },
618 b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n'
663 b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n'
@@ -628,7 +673,7 b' Requesting parents and revision data wor'
628 > EOF
673 > EOF
629 creating http peer for wire protocol version 2
674 creating http peer for wire protocol version 2
630 sending manifestdata command
675 sending manifestdata command
631 s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n
676 s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n
632 s> Accept-Encoding: identity\r\n
677 s> Accept-Encoding: identity\r\n
633 s> accept: application/mercurial-exp-framing-0005\r\n
678 s> accept: application/mercurial-exp-framing-0005\r\n
634 s> content-type: application/mercurial-exp-framing-0005\r\n
679 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -649,17 +694,17 b' Requesting parents and revision data wor'
649 s> \xa1FstatusBok
694 s> \xa1FstatusBok
650 s> \r\n
695 s> \r\n
651 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
696 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
652 s> 250\r\n
697 s> 26c\r\n
653 s> H\x02\x00\x01\x00\x02\x001
698 s> d\x02\x00\x01\x00\x02\x001
654 s> \xa1Jtotalitems\x02\xa3DnodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Gparents\x82T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Lrevisionsize\x19\x01$Y\x01$a\x002b4eb07319bfa077a40a2f04913659aef0da42da\n
699 s> \xa1Jtotalitems\x02\xa3Ofieldsfollowing\x81\x82Hrevision\x19\x01$DnodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Gparents\x82T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Y\x01$a\x002b4eb07319bfa077a40a2f04913659aef0da42da\n
655 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
700 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n
656 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
701 s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n
657 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
702 s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n
658 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
703 s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n
659 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
704 s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n
660 s> \xa4MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ideltasize\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0Gparents\x82T\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
705 s> \xa4MdeltabasenodeT\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4Ofieldsfollowing\x81\x82Edelta\x187DnodeTF\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0Gparents\x82T\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00X7\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n
661 s> \r\n
706 s> \r\n
662 received frame(size=584; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
707 received frame(size=612; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
663 s> 8\r\n
708 s> 8\r\n
664 s> \x00\x00\x00\x01\x00\x02\x002
709 s> \x00\x00\x00\x01\x00\x02\x002
665 s> \r\n
710 s> \r\n
@@ -671,17 +716,27 b' Requesting parents and revision data wor'
671 b'totalitems': 2
716 b'totalitems': 2
672 },
717 },
673 {
718 {
719 b'fieldsfollowing': [
720 [
721 b'revision',
722 292
723 ]
724 ],
674 b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
725 b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
675 b'parents': [
726 b'parents': [
676 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
727 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
677 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
728 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
678 ],
729 ]
679 b'revisionsize': 292
680 },
730 },
681 b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n',
731 b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n',
682 {
732 {
683 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
733 b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
684 b'deltasize': 55,
734 b'fieldsfollowing': [
735 [
736 b'delta',
737 55
738 ]
739 ],
685 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0',
740 b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0',
686 b'parents': [
741 b'parents': [
687 b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
742 b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
@@ -70,7 +70,7 b' pushkey for a bookmark works'
70 > EOF
70 > EOF
71 creating http peer for wire protocol version 2
71 creating http peer for wire protocol version 2
72 sending listkeys command
72 sending listkeys command
73 s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n
73 s> POST /api/exp-http-v2-0002/ro/listkeys HTTP/1.1\r\n
74 s> Accept-Encoding: identity\r\n
74 s> Accept-Encoding: identity\r\n
75 s> accept: application/mercurial-exp-framing-0005\r\n
75 s> accept: application/mercurial-exp-framing-0005\r\n
76 s> content-type: application/mercurial-exp-framing-0005\r\n
76 s> content-type: application/mercurial-exp-framing-0005\r\n
@@ -68,7 +68,7 b' Test basic clone'
68 ]
68 ]
69 }
69 }
70 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
70 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
71 received frame(size=871; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
71 received frame(size=941; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
72 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
72 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
73 add changeset 3390ef850073
73 add changeset 3390ef850073
74 add changeset 4432d83626e8
74 add changeset 4432d83626e8
@@ -93,7 +93,7 b' Test basic clone'
93 'tree': ''
93 'tree': ''
94 }
94 }
95 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
95 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
96 received frame(size=922; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
96 received frame(size=992; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
97 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
97 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
98 sending 2 commands
98 sending 2 commands
99 sending command filedata: {
99 sending command filedata: {
@@ -123,10 +123,10 b' Test basic clone'
123 'path': 'b'
123 'path': 'b'
124 }
124 }
125 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
125 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
126 received frame(size=389; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
126 received frame(size=431; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
127 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
127 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
128 received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
128 received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
129 received frame(size=389; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
129 received frame(size=431; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
130 received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
130 received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
131 updating the branch cache
131 updating the branch cache
132 new changesets 3390ef850073:caa2a465451d (3 drafts)
132 new changesets 3390ef850073:caa2a465451d (3 drafts)
@@ -203,7 +203,7 b' Cloning only a specific revision works'
203 ]
203 ]
204 }
204 }
205 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
205 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
206 received frame(size=353; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
206 received frame(size=381; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
207 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
207 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
208 add changeset 3390ef850073
208 add changeset 3390ef850073
209 add changeset 4432d83626e8
209 add changeset 4432d83626e8
@@ -222,7 +222,7 b' Cloning only a specific revision works'
222 'tree': ''
222 'tree': ''
223 }
223 }
224 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
224 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
225 received frame(size=376; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
225 received frame(size=404; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
226 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
226 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
227 sending 2 commands
227 sending 2 commands
228 sending command filedata: {
228 sending command filedata: {
@@ -249,10 +249,10 b' Cloning only a specific revision works'
249 'path': 'b'
249 'path': 'b'
250 }
250 }
251 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
251 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
252 received frame(size=249; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
252 received frame(size=277; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
253 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
253 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
254 received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
254 received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
255 received frame(size=109; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
255 received frame(size=123; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
256 received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
256 received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
257 updating the branch cache
257 updating the branch cache
258 new changesets 3390ef850073:4432d83626e8
258 new changesets 3390ef850073:4432d83626e8
@@ -311,7 +311,7 b' Incremental pull works'
311 ]
311 ]
312 }
312 }
313 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
313 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
314 received frame(size=571; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
314 received frame(size=613; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
315 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
315 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
316 add changeset cd2534766bec
316 add changeset cd2534766bec
317 add changeset e96ae20f4188
317 add changeset e96ae20f4188
@@ -332,7 +332,7 b' Incremental pull works'
332 'tree': ''
332 'tree': ''
333 }
333 }
334 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
334 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
335 received frame(size=559; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
335 received frame(size=601; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
336 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
336 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
337 sending 2 commands
337 sending 2 commands
338 sending command filedata: {
338 sending command filedata: {
@@ -361,10 +361,10 b' Incremental pull works'
361 'path': 'b'
361 'path': 'b'
362 }
362 }
363 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
363 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
364 received frame(size=249; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
364 received frame(size=277; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
365 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
365 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
366 received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
366 received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
367 received frame(size=389; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
367 received frame(size=431; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
368 received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
368 received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
369 updating the branch cache
369 updating the branch cache
370 new changesets cd2534766bec:caa2a465451d (3 drafts)
370 new changesets cd2534766bec:caa2a465451d (3 drafts)
@@ -491,7 +491,7 b' Bookmarks are transferred on clone'
491 ]
491 ]
492 }
492 }
493 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
493 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
494 received frame(size=909; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
494 received frame(size=979; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
495 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
495 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
496 add changeset 3390ef850073
496 add changeset 3390ef850073
497 add changeset 4432d83626e8
497 add changeset 4432d83626e8
@@ -518,7 +518,7 b' Bookmarks are transferred on clone'
518 'tree': ''
518 'tree': ''
519 }
519 }
520 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
520 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
521 received frame(size=922; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
521 received frame(size=992; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
522 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
522 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
523 sending 2 commands
523 sending 2 commands
524 sending command filedata: {
524 sending command filedata: {
@@ -548,10 +548,10 b' Bookmarks are transferred on clone'
548 'path': 'b'
548 'path': 'b'
549 }
549 }
550 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
550 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
551 received frame(size=389; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
551 received frame(size=431; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
552 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
552 received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
553 received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
553 received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
554 received frame(size=389; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
554 received frame(size=431; request=3; stream=2; streamflags=; type=command-response; flags=continuation)
555 received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
555 received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
556 updating the branch cache
556 updating the branch cache
557 new changesets 3390ef850073:caa2a465451d (1 drafts)
557 new changesets 3390ef850073:caa2a465451d (1 drafts)
@@ -1,4 +1,4 b''
1 HTTPV2=exp-http-v2-0001
1 HTTPV2=exp-http-v2-0002
2 MEDIATYPE=application/mercurial-exp-framing-0005
2 MEDIATYPE=application/mercurial-exp-framing-0005
3
3
4 sendhttpraw() {
4 sendhttpraw() {
General Comments 0
You need to be logged in to leave comments. Login now