Mercurial > hg
changeset 39814:d059cb669632
wireprotov2: allow multiple fields to follow revision maps
The *data wire protocol commands emit a series of CBOR values.
Because revision/delta data may be large, their data is emitted
outside the map as a top-level bytestring value.
Before this commit, we'd emit a single optional bytestring
value after the revision descriptor map. This got the job done.
But it was limiting in that we could only send a single field.
And, it required the consumer to know that the presence of a
key in the map implied the existence of a following bytestring
value.
This commit changes the encoding strategy so top-level bytestring
values in the stream are explicitly denoted in a "fieldsfollowing"
key. This key contains an array defining what fields that follow
and the expected size of each field.
By defining things this way, we can easily send N bytestring
values without any ambiguity about their order. In addition,
clients only need to know how to parse ``fieldsfollowing`` to
know if extra values are present.
Because this breaks backwards compatibility, we've bumped the version
number of the wire protocol version 2 API endpoint.
Differential Revision: https://phab.mercurial-scm.org/D4620
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 20 Sep 2018 12:57:23 -0700 |
parents | c30faea8d02d |
children | d3d333ab167a |
files | mercurial/exchangev2.py mercurial/help/internals/wireprotocolv2.txt mercurial/wireprototypes.py mercurial/wireprotov2server.py tests/test-clone.t tests/test-http-api-httpv2.t tests/test-http-api.t tests/test-http-protocol.t tests/test-ssh-bundle1.t tests/test-ssh-proto-unbundle.t tests/test-ssh-proto.t tests/test-ssh.t tests/test-wireproto-command-branchmap.t tests/test-wireproto-command-capabilities.t tests/test-wireproto-command-changesetdata.t tests/test-wireproto-command-filedata.t tests/test-wireproto-command-heads.t tests/test-wireproto-command-known.t tests/test-wireproto-command-listkeys.t tests/test-wireproto-command-manifestdata.t tests/test-wireproto-command-pushkey.t tests/test-wireproto-exchangev2.t tests/wireprotohelpers.sh |
diffstat | 23 files changed, 569 insertions(+), 374 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/exchangev2.py Mon Sep 17 11:54:00 2018 -0700 +++ b/mercurial/exchangev2.py Thu Sep 20 12:57:23 2018 -0700 @@ -167,11 +167,16 @@ # TODO add mechanism for extensions to examine records so they # can siphon off custom data fields. + extrafields = {} + + for field, size in cset.get(b'fieldsfollowing', []): + extrafields[field] = next(objs) + # Some entries might only be metadata only updates. - if b'revisionsize' not in cset: + if b'revision' not in extrafields: continue - data = next(objs) + data = extrafields[b'revision'] yield ( node, @@ -227,12 +232,17 @@ for manifest in objs: node = manifest[b'node'] - if b'deltasize' in manifest: + extrafields = {} + + for field, size in manifest.get(b'fieldsfollowing', []): + extrafields[field] = next(objs) + + if b'delta' in extrafields: basenode = manifest[b'deltabasenode'] - delta = next(objs) - elif b'revisionsize' in manifest: + delta = extrafields[b'delta'] + elif b'revision' in extrafields: basenode = nullid - revision = next(objs) + revision = extrafields[b'revision'] delta = mdiff.trivialdiffheader(len(revision)) + revision else: continue @@ -331,12 +341,17 @@ for filerevision in objs: node = filerevision[b'node'] - if b'deltasize' in filerevision: + extrafields = {} + + for field, size in filerevision.get(b'fieldsfollowing', []): + extrafields[field] = next(objs) + + if b'delta' in extrafields: basenode = filerevision[b'deltabasenode'] - delta = next(objs) - elif b'revisionsize' in filerevision: + delta = extrafields[b'delta'] + elif b'revision' in extrafields: basenode = nullid - revision = next(objs) + revision = extrafields[b'revision'] delta = mdiff.trivialdiffheader(len(revision)) + revision else: continue
--- a/mercurial/help/internals/wireprotocolv2.txt Mon Sep 17 11:54:00 2018 -0700 +++ b/mercurial/help/internals/wireprotocolv2.txt Thu Sep 20 12:57:23 2018 -0700 @@ -161,11 +161,17 @@ Following the map header is a series of 0 or more CBOR values. If values are present, the first value will always be a map describing a single changeset -revision. If revision data is requested, the raw revision data (encoded as -a CBOR bytestring) will follow the map describing it. Otherwise, another CBOR -map describing the next changeset revision will occur. +revision. -Each map has the following bytestring keys: +If the ``fieldsfollowing`` key is present, the map will immediately be followed +by N CBOR bytestring values, where N is the number of elements in +``fieldsfollowing``. Each bytestring value corresponds to a field denoted +by ``fieldsfollowing``. + +Following the optional bytestring field values is the next revision descriptor +map, or end of stream. + +Each revision descriptor map has the following bytestring keys: node (bytestring) The node value for this revision. This is the SHA-1 hash of @@ -176,6 +182,22 @@ if ``bookmarks`` data is being requested and the revision has bookmarks attached. +fieldsfollowing (optional) + (array of 2-array) Denotes what fields immediately follow this map. Each + value is an array with 2 elements: the bytestring field name and an unsigned + integer describing the length of the data, in bytes. + + If this key isn't present, no special fields will follow this map. + + The following fields may be present: + + revision + Raw, revision data for the changelog entry. Contains a serialized form + of the changeset data, including the author, date, commit message, set + of changed files, manifest node, and other metadata. + + Only present if the ``revision`` field was requested. + parents (optional) (array of bytestrings) The nodes representing the parent revisions of this revision. Only present if ``parents`` data is being requested. @@ -185,15 +207,6 @@ ``secret``, ``draft``, and ``public``. Only present if ``phase`` data is being requested. -revisionsize (optional) - (unsigned integer) Indicates the size of raw revision data that follows this - map. The following data contains a serialized form of the changeset data, - including the author, date, commit message, set of changed files, manifest - node, and other metadata. - - Only present if ``revision`` data was requested and the data follows this - map. - If nodes are requested via ``noderange``, they will be emitted in DAG order, parents always before children. @@ -261,11 +274,19 @@ (unsigned integer) Total number of file revisions whose data is being returned. -Following the header map is a series of 0 or more CBOR values. The first -value is always a map describing a file revision. If this map has the -``deltasize`` or ``revisionsize`` keys, a bytestring containing the delta -or revision, respectively, will immediately follow the map. Otherwise -the next value will be a map describing the next file revision. +Following the map header is a series of 0 or more CBOR values. If values +are present, the first value will always be a map describing a single changeset +revision. + +If the ``fieldsfollowing`` key is present, the map will immediately be followed +by N CBOR bytestring values, where N is the number of elements in +``fieldsfollowing``. Each bytestring value corresponds to a field denoted +by ``fieldsfollowing``. + +Following the optional bytestring field values is the next revision descriptor +map, or end of stream. + +Each revision descriptor map has the following bytestring keys: Each map has the following bytestring keys: @@ -278,28 +299,32 @@ Only present if the ``revision`` field is requested and delta data follows this map. -deltasize - (unsigned integer) The size of the delta data that follows this map. +fieldsfollowing + (array of 2-array) Denotes extra bytestring fields that following this map. + See the documentation for ``changesetdata`` for semantics. + + The following named fields may be present: - Only present if the ``revision`` field is requested and delta data - follows this map. + ``delta`` + The delta data to use to construct the fulltext revision. + + Only present if the ``revision`` field is requested and a delta is + being emitted. The ``deltabasenode`` top-level key will also be + present if this field is being emitted. + + ``revision`` + The fulltext revision data for this manifest. Only present if the + ``revision`` field is requested and a fulltext revision is being emitted. parents (array of bytestring) The nodes of the parents of this file revision. Only present if the ``parents`` field is requested. -revisionsize - (unsigned integer) The size of the fulltext revision data that follows - this map. - - Only present if the ``revision`` field is requested and fulltext revision - data follows this map. - When ``revision`` data is requested, the server chooses to emit either fulltext revision data or a delta. What the server decides can be inferred by looking -for the presence of the ``deltasize`` or ``revisionsize`` keys in the map. -Servers MUST NOT define both keys. +for the presence of the ``delta`` or ``revision`` keys in the +``fieldsfollowing`` array. heads ----- @@ -409,13 +434,19 @@ (unsigned integer) Total number of manifest revisions whose data is being returned. -Following the header map is a series of 0 or more CBOR values. The first -value is always a map describing a manifest revision. If this map has the -``deltasize`` or ``revisionsize`` keys, a bytestring containing the delta -or revision, respectively, will immediately follow the map. Otherwise -the next value will be a map describing the next manifest revision. +Following the map header is a series of 0 or more CBOR values. If values +are present, the first value will always be a map describing a single manifest +revision. -Each map has the following bytestring keys: +If the ``fieldsfollowing`` key is present, the map will immediately be followed +by N CBOR bytestring values, where N is the number of elements in +``fieldsfollowing``. Each bytestring value corresponds to a field denoted +by ``fieldsfollowing``. + +Following the optional bytestring field values is the next revision descriptor +map, or end of stream. + +Each revision descriptor map has the following bytestring keys: node (bytestring) The node of the manifest revision whose data is represented. @@ -425,24 +456,30 @@ computed against. Only present if the ``revision`` field is requested and a delta is being emitted. -deltasize - (unsigned integer) The size of the delta data that follows this map. - Only present if the ``revision`` field is requested and a delta is - being emitted. +fieldsfollowing + (array of 2-array) Denotes extra bytestring fields that following this map. + See the documentation for ``changesetdata`` for semantics. + + The following named fields may be present: + + ``delta`` + The delta data to use to construct the fulltext revision. + + Only present if the ``revision`` field is requested and a delta is + being emitted. The ``deltabasenode`` top-level key will also be + present if this field is being emitted. + + ``revision`` + The fulltext revision data for this manifest. Only present if the + ``revision`` field is requested and a fulltext revision is being emitted. parents (array of bytestring) The nodes of the parents of this manifest revision. Only present if the ``parents`` field is requested. -revisionsize - (unsigned integer) The size of the fulltext revision data that follows - this map. Only present if the ``revision`` field is requested and a fulltext - revision is being emitted. - When ``revision`` data is requested, the server chooses to emit either fulltext revision data or a delta. What the server decides can be inferred by looking -for the presence of the ``deltasize`` or ``revisionsize`` keys in the map. -Servers MUST NOT define both keys. +for the presence of ``delta`` or ``revision`` in the ``fieldsfollowing`` array. pushkey -------
--- a/mercurial/wireprototypes.py Mon Sep 17 11:54:00 2018 -0700 +++ b/mercurial/wireprototypes.py Thu Sep 20 12:57:23 2018 -0700 @@ -22,8 +22,8 @@ SSHV1 = 'ssh-v1' # These are advertised over the wire. Increment the counters at the end # to reflect BC breakages. -SSHV2 = 'exp-ssh-v2-0001' -HTTP_WIREPROTO_V2 = 'exp-http-v2-0001' +SSHV2 = 'exp-ssh-v2-0002' +HTTP_WIREPROTO_V2 = 'exp-http-v2-0002' # All available wire protocol transports. TRANSPORTS = {
--- a/mercurial/wireprotov2server.py Mon Sep 17 11:54:00 2018 -0700 +++ b/mercurial/wireprotov2server.py Thu Sep 20 12:57:23 2018 -0700 @@ -752,19 +752,24 @@ d[b'bookmarks'] = sorted(nodebookmarks[node]) del nodebookmarks[node] - revisiondata = None + followingmeta = [] + followingdata = [] if b'revision' in fields: revisiondata = cl.revision(node, raw=True) - d[b'revisionsize'] = len(revisiondata) + followingmeta.append((b'revision', len(revisiondata))) + followingdata.append(revisiondata) # TODO make it possible for extensions to wrap a function or register # a handler to service custom fields. + if followingmeta: + d[b'fieldsfollowing'] = followingmeta + yield d - if revisiondata is not None: - yield revisiondata + for extra in followingdata: + yield extra # If requested, send bookmarks from nodes that didn't have revision # data sent so receiver is aware of any bookmark updates. @@ -865,25 +870,29 @@ if b'parents' in fields: d[b'parents'] = store.parents(node) + followingmeta = [] + followingdata = [] + if b'revision' in fields: assert delta is not None assert delta.flags == 0 assert d[b'node'] == delta.node if delta.revision is not None: - revisiondata = delta.revision - d[b'revisionsize'] = len(revisiondata) + followingmeta.append((b'revision', len(delta.revision))) + followingdata.append(delta.revision) else: d[b'deltabasenode'] = delta.basenode - revisiondata = delta.delta - d[b'deltasize'] = len(revisiondata) - else: - revisiondata = None + followingmeta.append((b'delta', len(delta.delta))) + followingdata.append(delta.delta) + + if followingmeta: + d[b'fieldsfollowing'] = followingmeta yield d - if revisiondata is not None: - yield revisiondata + for extra in followingdata: + yield extra if deltas is not None: try: @@ -1020,25 +1029,29 @@ if b'parents' in fields: d[b'parents'] = store.parents(node) + followingmeta = [] + followingdata = [] + if b'revision' in fields: assert delta is not None assert delta.flags == 0 assert d[b'node'] == delta.node if delta.revision is not None: - revisiondata = delta.revision - d[b'revisionsize'] = len(revisiondata) + followingmeta.append((b'revision', len(delta.revision))) + followingdata.append(delta.revision) else: d[b'deltabasenode'] = delta.basenode - revisiondata = delta.delta - d[b'deltasize'] = len(revisiondata) - else: - revisiondata = None + followingmeta.append((b'delta', len(delta.delta))) + followingdata.append(delta.delta) + + if followingmeta: + d[b'fieldsfollowing'] = followingmeta yield d - if revisiondata is not None: - yield revisiondata + for extra in followingdata: + yield extra if deltas is not None: try:
--- a/tests/test-clone.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-clone.t Thu Sep 20 12:57:23 2018 -0700 @@ -1177,14 +1177,14 @@ #if windows $ hg clone "ssh://%26touch%20owned%20/" --debug running sh -c "read l; read l; read l" "&touch owned " "hg -R . serve --stdio" - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !) sending hello command sending between command abort: no suitable response from remote hg! [255] $ hg clone "ssh://example.com:%26touch%20owned%20/" --debug running sh -c "read l; read l; read l" -p "&touch owned " example.com "hg -R . serve --stdio" - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !) sending hello command sending between command abort: no suitable response from remote hg! @@ -1192,14 +1192,14 @@ #else $ hg clone "ssh://%3btouch%20owned%20/" --debug running sh -c "read l; read l; read l" ';touch owned ' 'hg -R . serve --stdio' - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !) sending hello command sending between command abort: no suitable response from remote hg! [255] $ hg clone "ssh://example.com:%3btouch%20owned%20/" --debug running sh -c "read l; read l; read l" -p ';touch owned ' example.com 'hg -R . serve --stdio' - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !) sending hello command sending between command abort: no suitable response from remote hg! @@ -1208,7 +1208,7 @@ $ hg clone "ssh://v-alid.example.com/" --debug running sh -c "read l; read l; read l" v-alid\.example\.com ['"]hg -R \. serve --stdio['"] (re) - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !) sending hello command sending between command abort: no suitable response from remote hg!
--- a/tests/test-http-api-httpv2.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-http-api-httpv2.t Thu Sep 20 12:57:23 2018 -0700 @@ -18,7 +18,7 @@ > user-agent: test > EOF using raw connection to peer - s> GET /api/exp-http-v2-0001 HTTP/1.1\r\n + s> GET /api/exp-http-v2-0002 HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) @@ -30,7 +30,7 @@ s> Content-Type: text/plain\r\n s> Content-Length: 33\r\n s> \r\n - s> API exp-http-v2-0001 not enabled\n + s> API exp-http-v2-0002 not enabled\n Restart server with support for HTTP v2 API @@ -46,7 +46,7 @@ > user-agent: test > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/badcommand HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/badcommand HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) @@ -67,7 +67,7 @@ > user-agent: test > EOF using raw connection to peer - s> GET /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n + s> GET /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) @@ -88,7 +88,7 @@ > user-agent: test > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) @@ -110,7 +110,7 @@ > user-agent: test > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: invalid\r\n s> user-agent: test\r\n @@ -134,7 +134,7 @@ > content-type: badmedia > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: badmedia\r\n @@ -160,7 +160,7 @@ > frame 1 1 stream-begin command-request new cbor:{b'name': b'customreadonly'} > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> *\r\n (glob) s> content-type: application/mercurial-exp-framing-0005\r\n @@ -193,7 +193,7 @@ > EOF creating http peer for wire protocol version 2 sending customreadonly command - s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -238,7 +238,7 @@ > user-agent: test > EOF using raw connection to peer - s> GET /api/exp-http-v2-0001/rw/customreadonly HTTP/1.1\r\n + s> GET /api/exp-http-v2-0002/rw/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) @@ -259,7 +259,7 @@ > user-agent: test > EOF using raw connection to peer - s> GET /api/exp-http-v2-0001/rw/badcommand HTTP/1.1\r\n + s> GET /api/exp-http-v2-0002/rw/badcommand HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) @@ -280,7 +280,7 @@ > user-agent: test > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/rw/customreadonly HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/rw/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) @@ -318,7 +318,7 @@ > frame 1 1 stream-begin command-request new cbor:{b'name': b'customreadonly'} > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/rw/customreadonly HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/rw/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -354,7 +354,7 @@ > accept: $MEDIATYPE > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/rw/badcommand HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/rw/badcommand HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> user-agent: test\r\n @@ -376,7 +376,7 @@ > user-agent: test > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/debugreflect HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/debugreflect HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) @@ -416,7 +416,7 @@ > frame 1 1 stream-begin command-request new cbor:{b'name': b'command1', b'args': {b'foo': b'val1', b'bar1': b'val'}} > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/debugreflect HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/debugreflect HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -447,7 +447,7 @@ > frame 1 1 stream-begin command-request new cbor:{b'name': b'customreadonly'} > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/customreadonly HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -486,7 +486,7 @@ > frame 3 1 0 command-request new cbor:{b'name': b'customreadonly'} > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/multirequest HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> *\r\n (glob) s> *\r\n (glob) @@ -536,7 +536,7 @@ > frame 1 1 0 command-request continuation IbookmarksDnameHlistkeys > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/multirequest HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -598,7 +598,7 @@ > frame 1 1 stream-begin command-request new cbor:{b'name': b'pushkey'} > EOF using raw connection to peer - s> POST /api/exp-http-v2-0001/ro/multirequest HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n
--- a/tests/test-http-api.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-http-api.t Thu Sep 20 12:57:23 2018 -0700 @@ -218,11 +218,11 @@ Accessing a known but not enabled API yields a different error $ send << EOF - > httprequest GET api/exp-http-v2-0001 + > httprequest GET api/exp-http-v2-0002 > user-agent: test > EOF using raw connection to peer - s> GET /api/exp-http-v2-0001 HTTP/1.1\r\n + s> GET /api/exp-http-v2-0002 HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) @@ -234,7 +234,7 @@ s> Content-Type: text/plain\r\n s> Content-Length: 33\r\n s> \r\n - s> API exp-http-v2-0001 not enabled\n + s> API exp-http-v2-0002 not enabled\n Restart server with support for HTTP v2 API @@ -269,7 +269,7 @@ s> \r\n s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n s> \n - s> exp-http-v2-0001 + s> exp-http-v2-0002 $ send << EOF > httprequest GET api/ @@ -290,4 +290,4 @@ s> \r\n s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n s> \n - s> exp-http-v2-0001 + s> exp-http-v2-0002
--- a/tests/test-http-protocol.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-http-protocol.t Thu Sep 20 12:57:23 2018 -0700 @@ -253,7 +253,7 @@ s> Accept-Encoding: identity\r\n s> vary: X-HgProto-1,X-HgUpgrade-1\r\n s> x-hgproto-1: cbor\r\n - s> x-hgupgrade-1: exp-http-v2-0001\r\n + s> x-hgupgrade-1: exp-http-v2-0002\r\n s> accept: application/mercurial-0.1\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) s> user-agent: Mercurial debugwireproto\r\n @@ -301,7 +301,7 @@ s> Accept-Encoding: identity\r\n s> vary: X-HgProto-1,X-HgUpgrade-1\r\n s> x-hgproto-1: cbor\r\n - s> x-hgupgrade-1: exp-http-v2-0001\r\n + s> x-hgupgrade-1: exp-http-v2-0002\r\n s> accept: application/mercurial-0.1\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) s> user-agent: Mercurial debugwireproto\r\n @@ -313,9 +313,9 @@ s> Content-Type: application/mercurial-cbor\r\n s> Content-Length: *\r\n (glob) s> \r\n - 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 + 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 sending heads command - s> POST /api/exp-http-v2-0001/ro/heads HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n
--- a/tests/test-ssh-bundle1.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-ssh-bundle1.t Thu Sep 20 12:57:23 2018 -0700 @@ -479,11 +479,11 @@ $ hg pull --debug ssh://user@dummy/remote pulling from ssh://user@dummy/remote running .* ".*/dummyssh" ['"]user@dummy['"] ('|")hg -R remote serve --stdio('|") (re) - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !) sending hello command sending between command remote: 427 (sshv1 !) - protocol upgraded to exp-ssh-v2-0001 (sshv2 !) + protocol upgraded to exp-ssh-v2-0002 (sshv2 !) remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash remote: 1 (sshv1 !) sending protocaps command
--- a/tests/test-ssh-proto-unbundle.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-ssh-proto-unbundle.t Thu Sep 20 12:57:23 2018 -0700 @@ -100,14 +100,14 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
--- a/tests/test-ssh-proto.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-ssh-proto.t Thu Sep 20 12:57:23 2018 -0700 @@ -954,7 +954,7 @@ $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !) running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !) - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) devel-peer-request: hello+between devel-peer-request: pairs: 81 bytes sending hello command @@ -984,7 +984,7 @@ $ hg debugwireproto --localssh --peer raw << EOF > raw - > upgrade this-is-some-token proto=exp-ssh-v2-0001\n + > upgrade this-is-some-token proto=exp-ssh-v2-0002\n > hello\n > between\n > pairs 81\n @@ -995,13 +995,13 @@ > EOF using raw connection to peer i> write(153) -> 153: - i> upgrade this-is-some-token proto=exp-ssh-v2-0001\n + i> upgrade this-is-some-token proto=exp-ssh-v2-0002\n i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 o> readline() -> 44: - o> upgraded this-is-some-token exp-ssh-v2-0001\n + o> upgraded this-is-some-token exp-ssh-v2-0002\n o> readline() -> 4: o> 426\n o> readline() -> 427: @@ -1012,12 +1012,12 @@ $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !) running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !) - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) devel-peer-request: hello+between devel-peer-request: pairs: 81 bytes sending hello command sending between command - protocol upgraded to exp-ssh-v2-0001 + protocol upgraded to exp-ssh-v2-0002 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash devel-peer-request: protocaps devel-peer-request: caps: * bytes (glob) @@ -1031,12 +1031,12 @@ $ hg --config experimental.sshpeer.advertise-v2=true --debug debugcapabilities ssh://user@dummy/server running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !) running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !) - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) devel-peer-request: hello+between devel-peer-request: pairs: 81 bytes sending hello command sending between command - protocol upgraded to exp-ssh-v2-0001 + protocol upgraded to exp-ssh-v2-0002 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash devel-peer-request: protocaps devel-peer-request: caps: * bytes (glob) @@ -1087,7 +1087,7 @@ $ hg debugwireproto --localssh --peer raw << EOF > raw - > upgrade this-is-some-token proto=exp-ssh-v2-0001\n + > upgrade this-is-some-token proto=exp-ssh-v2-0002\n > hello\n > between\n > pairs 81\n @@ -1102,13 +1102,13 @@ > EOF using raw connection to peer i> write(153) -> 153: - i> upgrade this-is-some-token proto=exp-ssh-v2-0001\n + i> upgrade this-is-some-token proto=exp-ssh-v2-0002\n i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 o> readline() -> 44: - o> upgraded this-is-some-token exp-ssh-v2-0001\n + o> upgraded this-is-some-token exp-ssh-v2-0002\n o> readline() -> 4: o> 426\n o> readline() -> 427: @@ -1124,7 +1124,7 @@ $ hg debugwireproto --localssh --peer raw << EOF > raw - > upgrade this-is-some-token proto=exp-ssh-v2-0001\n + > upgrade this-is-some-token proto=exp-ssh-v2-0002\n > hello\n > between\n > pairs 81\n @@ -1140,13 +1140,13 @@ > EOF using raw connection to peer i> write(153) -> 153: - i> upgrade this-is-some-token proto=exp-ssh-v2-0001\n + i> upgrade this-is-some-token proto=exp-ssh-v2-0002\n i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 o> readline() -> 44: - o> upgraded this-is-some-token exp-ssh-v2-0001\n + o> upgraded this-is-some-token exp-ssh-v2-0002\n o> readline() -> 4: o> 426\n o> readline() -> 427: @@ -1236,14 +1236,14 @@ $ hg debugwireproto --localssh --peer raw << EOF > raw - > upgrade token proto=exp-ssh-v2-0001\n + > upgrade token proto=exp-ssh-v2-0002\n > invalid\n > readline > readavailable > EOF using raw connection to peer i> write(44) -> 44: - i> upgrade token proto=exp-ssh-v2-0001\n + i> upgrade token proto=exp-ssh-v2-0002\n i> invalid\n o> readline() -> 1: o> \n @@ -1253,7 +1253,7 @@ $ hg debugwireproto --localssh --peer raw << EOF > raw - > upgrade token proto=exp-ssh-v2-0001\n + > upgrade token proto=exp-ssh-v2-0002\n > hello\n > invalid\n > readline @@ -1261,7 +1261,7 @@ > EOF using raw connection to peer i> write(50) -> 50: - i> upgrade token proto=exp-ssh-v2-0001\n + i> upgrade token proto=exp-ssh-v2-0002\n i> hello\n i> invalid\n o> readline() -> 1: @@ -1272,7 +1272,7 @@ $ hg debugwireproto --localssh --peer raw << EOF > raw - > upgrade token proto=exp-ssh-v2-0001\n + > upgrade token proto=exp-ssh-v2-0002\n > hello\n > between\n > invalid\n @@ -1281,7 +1281,7 @@ > EOF using raw connection to peer i> write(58) -> 58: - i> upgrade token proto=exp-ssh-v2-0001\n + i> upgrade token proto=exp-ssh-v2-0002\n i> hello\n i> between\n i> invalid\n @@ -1368,14 +1368,14 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n 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 @@ testing ssh2 creating ssh peer from handshake results i> write(171) -> 171: - i> upgrade * proto=exp-ssh-v2-0001\n (glob) + i> upgrade * proto=exp-ssh-v2-0002\n (glob) i> hello\n i> between\n i> pairs 81\n i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 i> flush() -> None o> readline() -> 62: - o> upgraded * exp-ssh-v2-0001\n (glob) + o> upgraded * exp-ssh-v2-0002\n (glob) o> readline() -> 4: o> 426\n o> read(426) -> 426: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
--- a/tests/test-ssh.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-ssh.t Thu Sep 20 12:57:23 2018 -0700 @@ -488,13 +488,13 @@ $ hg pull --debug ssh://user@dummy/remote --config devel.debug.peer-request=yes pulling from ssh://user@dummy/remote running .* ".*/dummyssh" ['"]user@dummy['"] ('|")hg -R remote serve --stdio('|") (re) - sending upgrade request: * proto=exp-ssh-v2-0001 (glob) (sshv2 !) + sending upgrade request: * proto=exp-ssh-v2-0002 (glob) (sshv2 !) devel-peer-request: hello+between devel-peer-request: pairs: 81 bytes sending hello command sending between command remote: 427 (sshv1 !) - protocol upgraded to exp-ssh-v2-0001 (sshv2 !) + protocol upgraded to exp-ssh-v2-0002 (sshv2 !) remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash remote: 1 (sshv1 !) devel-peer-request: protocaps
--- a/tests/test-wireproto-command-branchmap.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-command-branchmap.t Thu Sep 20 12:57:23 2018 -0700 @@ -43,7 +43,7 @@ > EOF creating http peer for wire protocol version 2 sending branchmap command - s> POST /api/exp-http-v2-0001/ro/branchmap HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/branchmap HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n
--- a/tests/test-wireproto-command-capabilities.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-command-capabilities.t Thu Sep 20 12:57:23 2018 -0700 @@ -194,7 +194,7 @@ $ sendhttpraw << EOF > httprequest GET ?cmd=capabilities > user-agent: test - > x-hgupgrade-1: exp-http-v2-0001 foo bar + > x-hgupgrade-1: exp-http-v2-0002 foo bar > x-hgproto-1: cbor > EOF using raw connection to peer @@ -202,7 +202,7 @@ s> Accept-Encoding: identity\r\n s> user-agent: test\r\n s> x-hgproto-1: cbor\r\n - s> x-hgupgrade-1: exp-http-v2-0001 foo bar\r\n + s> x-hgupgrade-1: exp-http-v2-0002 foo bar\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) s> \r\n s> makefile('rb', None) @@ -212,11 +212,11 @@ s> Content-Type: application/mercurial-cbor\r\n s> Content-Length: *\r\n (glob) s> \r\n - 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 + 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 cbor> { b'apibase': b'api/', b'apis': { - b'exp-http-v2-0001': { + b'exp-http-v2-0002': { b'commands': { b'branchmap': { b'args': {}, @@ -417,7 +417,7 @@ s> Accept-Encoding: identity\r\n s> vary: X-HgProto-1,X-HgUpgrade-1\r\n s> x-hgproto-1: cbor\r\n - s> x-hgupgrade-1: exp-http-v2-0001\r\n + s> x-hgupgrade-1: exp-http-v2-0002\r\n s> accept: application/mercurial-0.1\r\n s> host: $LOCALIP:$HGPORT\r\n (glob) s> user-agent: Mercurial debugwireproto\r\n @@ -429,9 +429,9 @@ s> Content-Type: application/mercurial-cbor\r\n s> Content-Length: *\r\n (glob) s> \r\n - 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 + 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 sending capabilities command - s> POST /api/exp-http-v2-0001/ro/capabilities HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n
--- a/tests/test-wireproto-command-changesetdata.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-command-changesetdata.t Thu Sep 20 12:57:23 2018 -0700 @@ -44,7 +44,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -78,7 +78,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -112,7 +112,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -170,7 +170,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -222,7 +222,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -272,7 +272,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -325,7 +325,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -379,7 +379,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -430,7 +430,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -451,16 +451,16 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 7e\r\n - s> v\x00\x00\x01\x00\x02\x001 - s> \xa1Jtotalitems\x01\xa2DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11Lrevisionsize\x18=X=1b74476799ec8318045db759b1b4bcc9b839d0aa\n + s> 8c\r\n + s> \x84\x00\x00\x01\x00\x02\x001 + s> \xa1Jtotalitems\x01\xa2Ofieldsfollowing\x81\x82Hrevision\x18=DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11X=1b74476799ec8318045db759b1b4bcc9b839d0aa\n s> test\n s> 0 0\n s> a\n s> \n s> commit 3 s> \r\n - received frame(size=118; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=132; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -472,8 +472,13 @@ b'totalitems': 1 }, { - b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11', - b'revisionsize': 61 + b'fieldsfollowing': [ + [ + b'revision', + 61 + ] + ], + b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11' }, b'1b74476799ec8318045db759b1b4bcc9b839d0aa\ntest\n0 0\na\n\ncommit 3' ] @@ -487,7 +492,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -550,7 +555,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -616,7 +621,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -637,22 +642,22 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 12f\r\n - s> \'\x01\x00\x01\x00\x02\x001 - s> \xa1Jtotalitems\x02\xa2DnodeTu\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1Lrevisionsize\x18?X?7f144aea0ba742713887b564d57e9d12f12ff382\n + s> 14b\r\n + s> C\x01\x00\x01\x00\x02\x001 + s> \xa1Jtotalitems\x02\xa2Ofieldsfollowing\x81\x82Hrevision\x18?DnodeTu\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1X?7f144aea0ba742713887b564d57e9d12f12ff382\n s> test\n s> 0 0\n s> a\n s> b\n s> \n - 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 + 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 s> test\n s> 0 0\n s> b\n s> \n s> commit 2\xa2Ibookmarks\x82Fbook-2Fbook-3DnodeT\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11 s> \r\n - received frame(size=295; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=323; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -664,16 +669,26 @@ b'totalitems': 2 }, { - b'node': b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1', - b'revisionsize': 63 + b'fieldsfollowing': [ + [ + b'revision', + 63 + ] + ], + b'node': b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1' }, b'7f144aea0ba742713887b564d57e9d12f12ff382\ntest\n0 0\na\nb\n\ncommit 1', { b'bookmarks': [ b'book-1' ], - b'node': b'\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xdd', - b'revisionsize': 61 + b'fieldsfollowing': [ + [ + b'revision', + 61 + ] + ], + b'node': b'\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xdd' }, b'37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\ntest\n0 0\nb\n\ncommit 2', { @@ -694,7 +709,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -715,16 +730,16 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> b1\r\n - s> \xa9\x00\x00\x01\x00\x02\x001 - 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 + s> bf\r\n + s> \xb7\x00\x00\x01\x00\x02\x001 + 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 s> test\n s> 0 0\n s> a\n s> \n s> commit 3 s> \r\n - received frame(size=169; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=183; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -736,12 +751,17 @@ b'totalitems': 1 }, { + b'fieldsfollowing': [ + [ + b'revision', + 61 + ] + ], b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11', b'parents': [ b'3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:', b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - ], - b'revisionsize': 61 + ] }, b'1b74476799ec8318045db759b1b4bcc9b839d0aa\ntest\n0 0\na\n\ncommit 3' ] @@ -755,7 +775,7 @@ > EOF creating http peer for wire protocol version 2 sending changesetdata command - s> POST /api/exp-http-v2-0001/ro/changesetdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/changesetdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -776,27 +796,27 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 239\r\n - s> 1\x02\x00\x01\x00\x02\x001 - 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 + s> 263\r\n + s> [\x02\x00\x01\x00\x02\x001 + 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 s> test\n s> 0 0\n s> a\n s> b\n s> \n - 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 + 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 s> test\n s> 0 0\n s> b\n s> \n - 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 + 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 s> test\n s> 0 0\n s> a\n s> \n s> commit 3 s> \r\n - received frame(size=561; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=603; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -812,33 +832,48 @@ b'phase': b'public' }, { + b'fieldsfollowing': [ + [ + b'revision', + 63 + ] + ], b'node': b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1', b'parents': [ b'3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:', b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' ], - b'phase': b'public', - b'revisionsize': 63 + b'phase': b'public' }, b'7f144aea0ba742713887b564d57e9d12f12ff382\ntest\n0 0\na\nb\n\ncommit 1', { + b'fieldsfollowing': [ + [ + b'revision', + 61 + ] + ], b'node': b'\x0b\xb8\xad\x89J\x15\xb1S\x80\xb2\xa2\xa5\xb1\x83\xe2\x0f*K(\xdd', b'parents': [ b'u\x92\x91~\x1c>\x82g|\xb0\xa4\xbcq\\\xa2]\xd1-(\xc1', b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' ], - b'phase': b'public', - b'revisionsize': 61 + b'phase': b'public' }, b'37f0a2d1c28ffe4b879109a7d1bbf8f07b3c763b\ntest\n0 0\nb\n\ncommit 2', { + b'fieldsfollowing': [ + [ + b'revision', + 61 + ] + ], b'node': b'\xea\xe5\xf8,.b#h\xd2}\xae\xcbv\xb7\xe3\x93\xd0\xf2B\x11', b'parents': [ b'3\x90\xef\x85\x00s\xfb\xc2\xf0\xdf\xff"D4,\x8e\x92)\x01:', b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' ], - b'phase': b'draft', - b'revisionsize': 61 + b'phase': b'draft' }, b'1b74476799ec8318045db759b1b4bcc9b839d0aa\ntest\n0 0\na\n\ncommit 3' ]
--- a/tests/test-wireproto-command-filedata.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-command-filedata.t Thu Sep 20 12:57:23 2018 -0700 @@ -284,11 +284,11 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 42\r\n - s> :\x00\x00\x01\x00\x02\x001 - s> \xa1Jtotalitems\x01\xa2DnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccLrevisionsize\x03Ca1\n + s> 50\r\n + s> H\x00\x00\x01\x00\x02\x001 + s> \xa1Jtotalitems\x01\xa2Ofieldsfollowing\x81\x82Hrevision\x03DnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccCa1\n s> \r\n - received frame(size=58; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=72; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -300,8 +300,13 @@ b'totalitems': 1 }, { - b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc', - b'revisionsize': 3 + b'fieldsfollowing': [ + [ + b'revision', + 3 + ] + ], + b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc' }, b'a1\n' ] @@ -338,11 +343,11 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 42\r\n - s> :\x00\x00\x01\x00\x02\x001 - s> \xa1Jtotalitems\x01\xa2DnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccLrevisionsize\x03Ca1\n + s> 50\r\n + s> H\x00\x00\x01\x00\x02\x001 + s> \xa1Jtotalitems\x01\xa2Ofieldsfollowing\x81\x82Hrevision\x03DnodeT\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xccCa1\n s> \r\n - received frame(size=58; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=72; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -354,8 +359,13 @@ b'totalitems': 1 }, { - b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc', - b'revisionsize': 3 + b'fieldsfollowing': [ + [ + b'revision', + 3 + ] + ], + b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc' }, b'a1\n' ] @@ -392,12 +402,12 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 6e\r\n - s> f\x00\x00\x01\x00\x02\x001 + s> 7c\r\n + s> t\x00\x00\x01\x00\x02\x001 s> \xa1Jtotalitems\x01\xa3MdeltabasenodeT+N\xb0s\x19\xbf\xa0w\xa4\n - 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 + 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 s> \r\n - received frame(size=102; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=116; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -410,7 +420,12 @@ }, { b'deltabasenode': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda', - b'deltasize': 15, + b'fieldsfollowing': [ + [ + b'delta', + 15 + ] + ], b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc' }, b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n' @@ -449,14 +464,14 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 9b\r\n - s> \x93\x00\x00\x01\x00\x02\x001 - s> \xa1Jtotalitems\x02\xa2DnodeT+N\xb0s\x19\xbf\xa0w\xa4\n - s> /\x04\x916Y\xae\xf0\xdaB\xdaLrevisionsize\x03Ca0\n + s> b7\r\n + s> \xaf\x00\x00\x01\x00\x02\x001 + s> \xa1Jtotalitems\x02\xa2Ofieldsfollowing\x81\x82Hrevision\x03DnodeT+N\xb0s\x19\xbf\xa0w\xa4\n + s> /\x04\x916Y\xae\xf0\xdaB\xdaCa0\n s> \xa3MdeltabasenodeT+N\xb0s\x19\xbf\xa0w\xa4\n - 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 + 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 s> \r\n - received frame(size=147; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=175; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -468,13 +483,23 @@ b'totalitems': 2 }, { - b'node': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda', - b'revisionsize': 3 + b'fieldsfollowing': [ + [ + b'revision', + 3 + ] + ], + b'node': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda' }, b'a0\n', { b'deltabasenode': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda', - b'deltasize': 15, + b'fieldsfollowing': [ + [ + b'delta', + 15 + ] + ], b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc' }, b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n' @@ -512,14 +537,14 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 9b\r\n - s> \x93\x00\x00\x01\x00\x02\x001 - s> \xa1Jtotalitems\x02\xa2DnodeT+N\xb0s\x19\xbf\xa0w\xa4\n - s> /\x04\x916Y\xae\xf0\xdaB\xdaLrevisionsize\x03Ca0\n + s> b7\r\n + s> \xaf\x00\x00\x01\x00\x02\x001 + s> \xa1Jtotalitems\x02\xa2Ofieldsfollowing\x81\x82Hrevision\x03DnodeT+N\xb0s\x19\xbf\xa0w\xa4\n + s> /\x04\x916Y\xae\xf0\xdaB\xdaCa0\n s> \xa3MdeltabasenodeT+N\xb0s\x19\xbf\xa0w\xa4\n - 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 + 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 s> \r\n - received frame(size=147; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=175; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -531,13 +556,23 @@ b'totalitems': 2 }, { - b'node': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda', - b'revisionsize': 3 + b'fieldsfollowing': [ + [ + b'revision', + 3 + ] + ], + b'node': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda' }, b'a0\n', { b'deltabasenode': b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda', - b'deltasize': 15, + b'fieldsfollowing': [ + [ + b'delta', + 15 + ] + ], b'node': b'\x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc' }, b'\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03a1\n' @@ -574,12 +609,12 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 75\r\n - s> m\x00\x00\x01\x00\x02\x001 - s> \xa1Jtotalitems\x01\xa3DnodeT\x08y4^97r)cKB\x0cc\x94T\x15g&\xc6\xb6Gparents\x82T+N\xb0s\x19\xbf\xa0w\xa4\n - 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 + s> 83\r\n + s> {\x00\x00\x01\x00\x02\x001 + s> \xa1Jtotalitems\x01\xa3Ofieldsfollowing\x81\x82Hrevision\x03DnodeT\x08y4^97r)cKB\x0cc\x94T\x15g&\xc6\xb6Gparents\x82T+N\xb0s\x19\xbf\xa0w\xa4\n + 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 s> \r\n - received frame(size=109; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=123; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -591,12 +626,17 @@ b'totalitems': 1 }, { + b'fieldsfollowing': [ + [ + b'revision', + 3 + ] + ], b'node': b'\x08y4^97r)cKB\x0cc\x94T\x15g&\xc6\xb6', b'parents': [ b'+N\xb0s\x19\xbf\xa0w\xa4\n/\x04\x916Y\xae\xf0\xdaB\xda', b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - ], - b'revisionsize': 3 + ] }, b'a2\n' ]
--- a/tests/test-wireproto-command-heads.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-command-heads.t Thu Sep 20 12:57:23 2018 -0700 @@ -35,7 +35,7 @@ > EOF creating http peer for wire protocol version 2 sending heads command - s> POST /api/exp-http-v2-0001/ro/heads HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -81,7 +81,7 @@ > EOF creating http peer for wire protocol version 2 sending heads command - s> POST /api/exp-http-v2-0001/ro/heads HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n
--- a/tests/test-wireproto-command-known.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-command-known.t Thu Sep 20 12:57:23 2018 -0700 @@ -27,7 +27,7 @@ > EOF creating http peer for wire protocol version 2 sending known command - s> POST /api/exp-http-v2-0001/ro/known HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/known HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -69,7 +69,7 @@ > EOF creating http peer for wire protocol version 2 sending known command - s> POST /api/exp-http-v2-0001/ro/known HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/known HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -113,7 +113,7 @@ > EOF creating http peer for wire protocol version 2 sending known command - s> POST /api/exp-http-v2-0001/ro/known HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/known HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n
--- a/tests/test-wireproto-command-listkeys.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-command-listkeys.t Thu Sep 20 12:57:23 2018 -0700 @@ -31,7 +31,7 @@ > EOF creating http peer for wire protocol version 2 sending listkeys command - s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/listkeys HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -77,7 +77,7 @@ > EOF creating http peer for wire protocol version 2 sending listkeys command - s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/listkeys HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -122,7 +122,7 @@ > EOF creating http peer for wire protocol version 2 sending listkeys command - s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/listkeys HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n
--- a/tests/test-wireproto-command-manifestdata.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-command-manifestdata.t Thu Sep 20 12:57:23 2018 -0700 @@ -49,7 +49,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -81,7 +81,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -116,7 +116,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -151,7 +151,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -202,7 +202,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -258,7 +258,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -279,16 +279,16 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 167\r\n - s> _\x01\x00\x01\x00\x02\x001 - 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 + s> 175\r\n + s> m\x01\x00\x01\x00\x02\x001 + 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 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n s> \r\n - received frame(size=351; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=365; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -300,8 +300,13 @@ b'totalitems': 1 }, { - b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0', - b'revisionsize': 292 + b'fieldsfollowing': [ + [ + b'revision', + 292 + ] + ], + b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0' }, b'a\x000879345e39377229634b420c639454156726c6b6\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n' ] @@ -317,7 +322,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -338,16 +343,16 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 167\r\n - s> _\x01\x00\x01\x00\x02\x001 - 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 + s> 175\r\n + s> m\x01\x00\x01\x00\x02\x001 + 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 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n s> \r\n - received frame(size=351; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=365; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -359,8 +364,13 @@ b'totalitems': 1 }, { - b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0', - b'revisionsize': 292 + b'fieldsfollowing': [ + [ + b'revision', + 292 + ] + ], + b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0' }, b'a\x000879345e39377229634b420c639454156726c6b6\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n' ] @@ -376,7 +386,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -397,11 +407,11 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 98\r\n - s> \x90\x00\x00\x01\x00\x02\x001 - 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 + s> a6\r\n + s> \x9e\x00\x00\x01\x00\x02\x001 + 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 s> \r\n - received frame(size=144; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=158; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -414,7 +424,12 @@ }, { b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4', - b'deltasize': 55, + b'fieldsfollowing': [ + [ + b'delta', + 55 + ] + ], b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0' }, b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n' @@ -432,7 +447,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -453,17 +468,17 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 1ea\r\n - s> \xe2\x01\x00\x01\x00\x02\x001 - 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 + s> 206\r\n + s> \xfe\x01\x00\x01\x00\x02\x001 + 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 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n - 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 + 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 s> \r\n - received frame(size=482; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=510; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -475,13 +490,23 @@ b'totalitems': 2 }, { - b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4', - b'revisionsize': 292 + b'fieldsfollowing': [ + [ + b'revision', + 292 + ] + ], + b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4' }, b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n', { b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4', - b'deltasize': 55, + b'fieldsfollowing': [ + [ + b'delta', + 55 + ] + ], b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0' }, b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n' @@ -498,7 +523,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -519,17 +544,17 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 1ea\r\n - s> \xe2\x01\x00\x01\x00\x02\x001 - 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 + s> 206\r\n + s> \xfe\x01\x00\x01\x00\x02\x001 + 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 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n - 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 + 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 s> \r\n - received frame(size=482; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=510; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -541,13 +566,23 @@ b'totalitems': 2 }, { - b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4', - b'revisionsize': 292 + b'fieldsfollowing': [ + [ + b'revision', + 292 + ] + ], + b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4' }, b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n', { b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4', - b'deltasize': 55, + b'fieldsfollowing': [ + [ + b'delta', + 55 + ] + ], b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0' }, b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n' @@ -563,7 +598,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -584,17 +619,17 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 1ea\r\n - s> \xe2\x01\x00\x01\x00\x02\x001 - 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 + s> 206\r\n + s> \xfe\x01\x00\x01\x00\x02\x001 + 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 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n - 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 + 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 s> \r\n - received frame(size=482; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=510; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -606,13 +641,23 @@ b'totalitems': 2 }, { - b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4', - b'revisionsize': 292 + b'fieldsfollowing': [ + [ + b'revision', + 292 + ] + ], + b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4' }, b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n', { b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4', - b'deltasize': 55, + b'fieldsfollowing': [ + [ + b'delta', + 55 + ] + ], b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0' }, b'\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00+a\x000879345e39377229634b420c639454156726c6b6\n' @@ -628,7 +673,7 @@ > EOF creating http peer for wire protocol version 2 sending manifestdata command - s> POST /api/exp-http-v2-0001/ro/manifestdata HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/manifestdata HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n @@ -649,17 +694,17 @@ s> \xa1FstatusBok s> \r\n received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - s> 250\r\n - s> H\x02\x00\x01\x00\x02\x001 - 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 + s> 26c\r\n + s> d\x02\x00\x01\x00\x02\x001 + 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 s> b\x00819e258d31a5e1606629f365bb902a1b21ee4216\n s> dir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\n s> dir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\n s> dir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\n s> dir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n - 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 + 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 s> \r\n - received frame(size=584; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=612; request=1; stream=2; streamflags=; type=command-response; flags=continuation) s> 8\r\n s> \x00\x00\x00\x01\x00\x02\x002 s> \r\n @@ -671,17 +716,27 @@ b'totalitems': 2 }, { + b'fieldsfollowing': [ + [ + b'revision', + 292 + ] + ], b'node': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4', b'parents': [ b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - ], - b'revisionsize': 292 + ] }, b'a\x002b4eb07319bfa077a40a2f04913659aef0da42da\nb\x00819e258d31a5e1606629f365bb902a1b21ee4216\ndir0/c\x00914445346a0ca0629bd47ceb5dfe07e4d4cf2501\ndir0/child0/e\x00bbba6c06b30f443d34ff841bc985c4d0827c6be4\ndir0/child1/f\x0012fc7dcd773b5a0a929ce195228083c6ddc9cec4\ndir0/d\x00538206dc971e521540d6843abfe6d16032f6d426\n', { b'deltabasenode': b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4', - b'deltasize': 55, + b'fieldsfollowing': [ + [ + b'delta', + 55 + ] + ], b'node': b'F\xa6r\x1b^\xda\xf0\xea\x04\xb7\x9a\\\xb3!\x88T\xa4\xd2\xab\xa0', b'parents': [ b'\x1b\x17[Y_\x02,\xfa\xb5\xb8\t\xcc\x0e\xd5Q\xbd\x0b?\xf5\xe4',
--- a/tests/test-wireproto-command-pushkey.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-command-pushkey.t Thu Sep 20 12:57:23 2018 -0700 @@ -70,7 +70,7 @@ > EOF creating http peer for wire protocol version 2 sending listkeys command - s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n + s> POST /api/exp-http-v2-0002/ro/listkeys HTTP/1.1\r\n s> Accept-Encoding: identity\r\n s> accept: application/mercurial-exp-framing-0005\r\n s> content-type: application/mercurial-exp-framing-0005\r\n
--- a/tests/test-wireproto-exchangev2.t Mon Sep 17 11:54:00 2018 -0700 +++ b/tests/test-wireproto-exchangev2.t Thu Sep 20 12:57:23 2018 -0700 @@ -68,7 +68,7 @@ ] } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=871; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=941; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) add changeset 3390ef850073 add changeset 4432d83626e8 @@ -93,7 +93,7 @@ 'tree': '' } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=922; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=992; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) sending 2 commands sending command filedata: { @@ -123,10 +123,10 @@ 'path': 'b' } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=389; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=431; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) - received frame(size=389; request=3; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=431; request=3; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) updating the branch cache new changesets 3390ef850073:caa2a465451d (3 drafts) @@ -203,7 +203,7 @@ ] } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=353; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=381; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) add changeset 3390ef850073 add changeset 4432d83626e8 @@ -222,7 +222,7 @@ 'tree': '' } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=376; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=404; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) sending 2 commands sending command filedata: { @@ -249,10 +249,10 @@ 'path': 'b' } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=249; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=277; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) - received frame(size=109; request=3; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=123; request=3; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) updating the branch cache new changesets 3390ef850073:4432d83626e8 @@ -311,7 +311,7 @@ ] } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=571; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=613; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) add changeset cd2534766bec add changeset e96ae20f4188 @@ -332,7 +332,7 @@ 'tree': '' } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=559; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=601; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) sending 2 commands sending command filedata: { @@ -361,10 +361,10 @@ 'path': 'b' } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=249; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=277; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) - received frame(size=389; request=3; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=431; request=3; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) updating the branch cache new changesets cd2534766bec:caa2a465451d (3 drafts) @@ -491,7 +491,7 @@ ] } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=909; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=979; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) add changeset 3390ef850073 add changeset 4432d83626e8 @@ -518,7 +518,7 @@ 'tree': '' } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=922; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=992; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) sending 2 commands sending command filedata: { @@ -548,10 +548,10 @@ 'path': 'b' } received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) - received frame(size=389; request=1; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=431; request=1; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) - received frame(size=389; request=3; stream=2; streamflags=; type=command-response; flags=continuation) + received frame(size=431; request=3; stream=2; streamflags=; type=command-response; flags=continuation) received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) updating the branch cache new changesets 3390ef850073:caa2a465451d (1 drafts)