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