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
--- 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)
--- a/tests/wireprotohelpers.sh Mon Sep 17 11:54:00 2018 -0700
+++ b/tests/wireprotohelpers.sh Thu Sep 20 12:57:23 2018 -0700
@@ -1,4 +1,4 @@
-HTTPV2=exp-http-v2-0001
+HTTPV2=exp-http-v2-0002
MEDIATYPE=application/mercurial-exp-framing-0005
sendhttpraw() {