tests/test-wireproto-command-capabilities.t
author Yuya Nishihara <yuya@tcha.org>
Tue, 03 Nov 2020 11:15:50 +0900
branchstable
changeset 45850 9534de20358f
parent 44412 edc8504bc26b
child 46633 7015b0232c5e
permissions -rw-r--r--
chg: do not close dir fd while iterating It works so long as the dp is the last entry, but readdir(dp) would fail with EBADF. Let's not do that and close the dir fd explicitly.
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
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     5
  $ hg init server
37822
da07c781aba9 tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37820
diff changeset
     6
da07c781aba9 tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37820
diff changeset
     7
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
     8
zstd from the equation.
da07c781aba9 tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37820
diff changeset
     9
da07c781aba9 tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37820
diff changeset
    10
  $ cat >> server/.hg/hgrc << EOF
da07c781aba9 tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37820
diff changeset
    11
  > [server]
da07c781aba9 tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37820
diff changeset
    12
  > compressionengines = zlib
da07c781aba9 tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37820
diff changeset
    13
  > EOF
da07c781aba9 tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37820
diff changeset
    14
37557
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    15
  $ 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
    16
  $ 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
    17
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    18
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
    19
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    20
  $ sendhttpraw << EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    21
  > httprequest GET ?cmd=capabilities
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    22
  >     user-agent: test
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    23
  > EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    24
  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
    25
  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
    26
  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
    27
  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
    28
  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
    29
  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
    30
  s>     \r\n
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    31
  s> makefile('rb', None)
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    32
  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
    33
  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
    34
  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
    35
  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
    36
  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
    37
  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
    38
  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
    39
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    40
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
    41
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    42
  $ sendhttpraw << EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    43
  > httprequest GET ?cmd=capabilities
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    44
  >    user-agent: test
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    45
  >    x-hgupgrade-1: foo
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    46
  >    x-hgproto-1: cbor
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    47
  > EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    48
  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
    49
  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
    50
  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
    51
  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
    52
  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
    53
  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
    54
  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
    55
  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
    56
  s>     \r\n
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    57
  s> makefile('rb', None)
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    58
  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
    59
  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
    60
  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
    61
  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
    62
  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
    63
  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
    64
  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
    65
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    66
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
    67
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    68
  $ killdaemons.py
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    69
  $ cat error.log
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    70
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    71
  $ 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
    72
  > [experimental]
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    73
  > web.apiserver = true
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    74
  > EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    75
37533
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    76
  $ 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
    77
  $ cat hg.pid > $DAEMON_PIDS
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    78
37557
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    79
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
    80
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    81
  $ sendhttpraw << EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    82
  > httprequest GET ?cmd=capabilities
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    83
  >    user-agent: test
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    84
  >    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
    85
  > EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    86
  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
    87
  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
    88
  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
    89
  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
    90
  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
    91
  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
    92
  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
    93
  s>     \r\n
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    94
  s> makefile('rb', None)
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
    95
  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
    96
  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
    97
  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
    98
  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
    99
  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
   100
  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
   101
  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
   102
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   103
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
   104
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   105
  $ sendhttpraw << EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   106
  > httprequest GET ?cmd=capabilities
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   107
  >    user-agent: test
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   108
  >    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
   109
  >    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
   110
  > EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   111
  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
   112
  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
   113
  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
   114
  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
   115
  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
   116
  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
   117
  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
   118
  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
   119
  s>     \r\n
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   120
  s> makefile('rb', None)
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   121
  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
   122
  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
   123
  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
   124
  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
   125
  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
   126
  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
   127
  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
   128
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   129
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
   130
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   131
  $ sendhttpraw << EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   132
  > httprequest GET ?cmd=capabilities
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   133
  >    user-agent: test
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   134
  >    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
   135
  >    x-hgproto-1: cbor
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   136
  > EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   137
  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
   138
  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
   139
  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
   140
  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
   141
  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
   142
  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
   143
  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
   144
  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
   145
  s>     \r\n
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   146
  s> makefile('rb', None)
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   147
  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
   148
  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
   149
  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
   150
  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
   151
  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
   152
  s>     \r\n
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41502
diff changeset
   153
  s>     \xa3GapibaseDapi/Dapis\xa0Nv1capabilitiesY\x01\xf7batch 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
   154
  cbor> [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   155
    {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   156
      b'apibase': b'api/',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   157
      b'apis': {},
40915
e64a28e2a1f2 test: enable sparse-revlog for test-wireproto-command-capabilities.t
Boris Feld <boris.feld@octobus.net>
parents: 40391
diff changeset
   158
      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
   159
    }
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   160
  ]
37557
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   161
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   162
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
   163
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   164
  $ killdaemons.py
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   165
  $ enablehttpv2 server
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   166
  $ 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
   167
  $ 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
   168
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   169
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
   170
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   171
  $ sendhttpraw << EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   172
  > httprequest GET ?cmd=capabilities
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   173
  >    user-agent: test
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   174
  >    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
   175
  >    x-hgproto-1: cbor
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   176
  > EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   177
  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
   178
  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
   179
  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
   180
  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
   181
  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
   182
  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
   183
  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
   184
  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
   185
  s>     \r\n
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   186
  s> makefile('rb', None)
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   187
  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
   188
  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
   189
  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
   190
  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
   191
  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
   192
  s>     \r\n
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41502
diff changeset
   193
  s>     \xa3GapibaseDapi/Dapis\xa0Nv1capabilitiesY\x01\xf7batch 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
   194
  cbor> [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   195
    {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   196
      b'apibase': b'api/',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   197
      b'apis': {},
40915
e64a28e2a1f2 test: enable sparse-revlog for test-wireproto-command-capabilities.t
Boris Feld <boris.feld@octobus.net>
parents: 40391
diff changeset
   198
      b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   199
    }
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   200
  ]
37557
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   201
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   202
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
   203
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   204
  $ sendhttpraw << EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   205
  > httprequest GET ?cmd=capabilities
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   206
  >    user-agent: test
40176
41263df08109 wireprotov2: change how revisions are specified to changesetdata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40172
diff changeset
   207
  >    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
   208
  >    x-hgproto-1: cbor
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   209
  > EOF
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   210
  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
   211
  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
   212
  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
   213
  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
   214
  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
   215
  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
   216
  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
   217
  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
   218
  s>     \r\n
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   219
  s> makefile('rb', None)
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   220
  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
   221
  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
   222
  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
   223
  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
   224
  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
   225
  s>     \r\n
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41502
diff changeset
   226
  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\xf7batch 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
   227
  cbor> [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   228
    {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   229
      b'apibase': b'api/',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   230
      b'apis': {
40176
41263df08109 wireprotov2: change how revisions are specified to changesetdata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40172
diff changeset
   231
        b'exp-http-v2-0003': {
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   232
          b'commands': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   233
            b'branchmap': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   234
              b'args': {},
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   235
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   236
                b'pull'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   237
              ]
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   238
            },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   239
            b'capabilities': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   240
              b'args': {},
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   241
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   242
                b'pull'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   243
              ]
39630
9c2c77c73f23 wireprotov2: define and implement "changesetdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39561
diff changeset
   244
            },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   245
            b'changesetdata': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   246
              b'args': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   247
                b'fields': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   248
                  b'default': set([]),
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   249
                  b'required': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   250
                  b'type': b'set',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   251
                  b'validvalues': set([
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   252
                    b'bookmarks',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   253
                    b'parents',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   254
                    b'phase',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   255
                    b'revision'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   256
                  ])
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   257
                },
40176
41263df08109 wireprotov2: change how revisions are specified to changesetdata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40172
diff changeset
   258
                b'revisions': {
41263df08109 wireprotov2: change how revisions are specified to changesetdata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40172
diff changeset
   259
                  b'required': True,
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   260
                  b'type': b'list'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   261
                }
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   262
              },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   263
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   264
                b'pull'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   265
              ]
39639
0e03e6a44dee wireprotov2: define and implement "filedata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39637
diff changeset
   266
            },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   267
            b'filedata': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   268
              b'args': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   269
                b'fields': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   270
                  b'default': set([]),
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   271
                  b'required': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   272
                  b'type': b'set',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   273
                  b'validvalues': set([
40391
abbd077965c0 wireprotov2: support exposing linknode of file revisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40329
diff changeset
   274
                    b'linknode',
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   275
                    b'parents',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   276
                    b'revision'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   277
                  ])
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   278
                },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   279
                b'haveparents': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   280
                  b'default': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   281
                  b'required': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   282
                  b'type': b'bool'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   283
                },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   284
                b'nodes': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   285
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   286
                  b'type': b'list'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   287
                },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   288
                b'path': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   289
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   290
                  b'type': b'bytes'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   291
                }
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   292
              },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   293
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   294
                b'pull'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   295
              ]
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   296
            },
40178
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   297
            b'filesdata': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   298
              b'args': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   299
                b'fields': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   300
                  b'default': set([]),
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   301
                  b'required': False,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   302
                  b'type': b'set',
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   303
                  b'validvalues': set([
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   304
                    b'firstchangeset',
40391
abbd077965c0 wireprotov2: support exposing linknode of file revisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40329
diff changeset
   305
                    b'linknode',
40178
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   306
                    b'parents',
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   307
                    b'revision'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   308
                  ])
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   309
                },
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   310
                b'haveparents': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   311
                  b'default': False,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   312
                  b'required': False,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   313
                  b'type': b'bool'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   314
                },
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   315
                b'pathfilter': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   316
                  b'default': None,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   317
                  b'required': False,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   318
                  b'type': b'dict'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   319
                },
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   320
                b'revisions': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   321
                  b'required': True,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   322
                  b'type': b'list'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   323
                }
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   324
              },
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   325
              b'permissions': [
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   326
                b'pull'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   327
              ],
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   328
              b'recommendedbatchsize': 50000
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   329
            },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   330
            b'heads': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   331
              b'args': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   332
                b'publiconly': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   333
                  b'default': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   334
                  b'required': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   335
                  b'type': b'bool'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   336
                }
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   337
              },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   338
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   339
                b'pull'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   340
              ]
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   341
            },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   342
            b'known': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   343
              b'args': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   344
                b'nodes': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   345
                  b'default': [],
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   346
                  b'required': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   347
                  b'type': b'list'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   348
                }
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   349
              },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   350
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   351
                b'pull'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   352
              ]
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   353
            },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   354
            b'listkeys': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   355
              b'args': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   356
                b'namespace': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   357
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   358
                  b'type': b'bytes'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   359
                }
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   360
              },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   361
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   362
                b'pull'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   363
              ]
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   364
            },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   365
            b'lookup': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   366
              b'args': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   367
                b'key': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   368
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   369
                  b'type': b'bytes'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   370
                }
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   371
              },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   372
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   373
                b'pull'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   374
              ]
39637
c7a7c7e844e5 wireprotov2: define and implement "manifestdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39630
diff changeset
   375
            },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   376
            b'manifestdata': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   377
              b'args': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   378
                b'fields': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   379
                  b'default': set([]),
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   380
                  b'required': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   381
                  b'type': b'set',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   382
                  b'validvalues': set([
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   383
                    b'parents',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   384
                    b'revision'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   385
                  ])
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   386
                },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   387
                b'haveparents': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   388
                  b'default': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   389
                  b'required': False,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   390
                  b'type': b'bool'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   391
                },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   392
                b'nodes': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   393
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   394
                  b'type': b'list'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   395
                },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   396
                b'tree': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   397
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   398
                  b'type': b'bytes'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   399
                }
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   400
              },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   401
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   402
                b'pull'
40172
30f70d11c224 wireprotov2: advertise recommended batch size for requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40138
diff changeset
   403
              ],
30f70d11c224 wireprotov2: advertise recommended batch size for requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40138
diff changeset
   404
              b'recommendedbatchsize': 100000
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   405
            },
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   406
            b'pushkey': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   407
              b'args': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   408
                b'key': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   409
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   410
                  b'type': b'bytes'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   411
                },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   412
                b'namespace': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   413
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   414
                  b'type': b'bytes'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   415
                },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   416
                b'new': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   417
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   418
                  b'type': b'bytes'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   419
                },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   420
                b'old': {
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   421
                  b'required': True,
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   422
                  b'type': b'bytes'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   423
                }
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   424
              },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   425
              b'permissions': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   426
                b'push'
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   427
              ]
40329
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   428
            },
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   429
            b'rawstorefiledata': {
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   430
              b'args': {
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   431
                b'files': {
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   432
                  b'required': True,
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   433
                  b'type': b'list'
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   434
                },
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   435
                b'pathfilter': {
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   436
                  b'default': None,
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   437
                  b'required': False,
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   438
                  b'type': b'list'
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   439
                }
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   440
              },
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   441
              b'permissions': [
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   442
                b'pull'
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   443
              ]
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   444
            }
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   445
          },
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   446
          b'framingmediatypes': [
40133
762ef19a07e3 wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40122
diff changeset
   447
            b'application/mercurial-exp-framing-0006'
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   448
          ],
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   449
          b'pathfilterprefixes': set([
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   450
            b'path:',
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   451
            b'rootfilesin:'
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'rawrepoformats': [
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   454
            b'generaldelta',
40915
e64a28e2a1f2 test: enable sparse-revlog for test-wireproto-command-capabilities.t
Boris Feld <boris.feld@octobus.net>
parents: 40391
diff changeset
   455
            b'revlogv1',
e64a28e2a1f2 test: enable sparse-revlog for test-wireproto-command-capabilities.t
Boris Feld <boris.feld@octobus.net>
parents: 40391
diff changeset
   456
            b'sparserevlog'
40017
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   457
          ]
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   458
        }
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   459
      },
40915
e64a28e2a1f2 test: enable sparse-revlog for test-wireproto-command-capabilities.t
Boris Feld <boris.feld@octobus.net>
parents: 40391
diff changeset
   460
      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
   461
    }
426cb2859013 debugcommands: print all CBOR objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39815
diff changeset
   462
  ]
37557
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   463
734515aca84d wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37539
diff changeset
   464
capabilities command returns expected info
37533
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   465
37718
ad1c07008e0b debugcommands: ability to suppress logging of handshake
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37657
diff changeset
   466
  $ sendhttpv2peerhandshake << EOF
37533
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   467
  > command capabilities
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   468
  > EOF
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   469
  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
   470
  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
   471
  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
   472
  s>     Accept-Encoding: identity\r\n
72b0982cd509 debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37557
diff changeset
   473
  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
   474
  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
   475
  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
   476
  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
   477
  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
   478
  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
   479
  s>     \r\n
72b0982cd509 debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37557
diff changeset
   480
  s> makefile('rb', None)
72b0982cd509 debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37557
diff changeset
   481
  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
   482
  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
   483
  s>     Date: $HTTP_DATE$\r\n
72b0982cd509 debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37557
diff changeset
   484
  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
   485
  s>     Content-Length: *\r\n (glob)
72b0982cd509 debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37557
diff changeset
   486
  s>     \r\n
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41502
diff changeset
   487
  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\xf7batch 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
   488
  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
   489
  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
   490
  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
   491
  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
   492
  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
   493
  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
   494
  s>     content-length: 63\r\n
37533
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   495
  s>     host: $LOCALIP:$HGPORT\r\n (glob)
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   496
  s>     user-agent: Mercurial debugwireproto\r\n
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   497
  s>     \r\n
40133
762ef19a07e3 wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40122
diff changeset
   498
  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
   499
  s> makefile('rb', None)
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   500
  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
   501
  s>     Server: testing stub value\r\n
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   502
  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
   503
  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
   504
  s>     Transfer-Encoding: chunked\r\n
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   505
  s>     \r\n
40138
b5bf3dd6ec5b wireprotov2: send content encoded frames from server
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40133
diff changeset
   506
  s>     11\r\n
b5bf3dd6ec5b wireprotov2: send content encoded frames from server
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40133
diff changeset
   507
  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
   508
  s>     Hidentity
b5bf3dd6ec5b wireprotov2: send content encoded frames from server
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40133
diff changeset
   509
  s>     \r\n
39559
07b58266bce3 wireprotov2: implement commands as a generator of objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39448
diff changeset
   510
  s>     13\r\n
40138
b5bf3dd6ec5b wireprotov2: send content encoded frames from server
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40133
diff changeset
   511
  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
   512
  s>     \xa1FstatusBok
37533
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   513
  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
   514
  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
   515
  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
   516
  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
   517
  s>     \r\n
07b58266bce3 wireprotov2: implement commands as a generator of objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39448
diff changeset
   518
  s>     8\r\n
07b58266bce3 wireprotov2: implement commands as a generator of objects
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39448
diff changeset
   519
  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
   520
  s>     \r\n
37533
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   521
  s>     0\r\n
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   522
  s>     \r\n
39561
d06834e0f48e wireprotov2peer: stream decoded responses
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39559
diff changeset
   523
  response: gen[
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   524
    {
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   525
      b'commands': {
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   526
        b'branchmap': {
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   527
          b'args': {},
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   528
          b'permissions': [
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   529
            b'pull'
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   530
          ]
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'capabilities': {
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   533
          b'args': {},
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   534
          b'permissions': [
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   535
            b'pull'
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   536
          ]
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   537
        },
39630
9c2c77c73f23 wireprotov2: define and implement "changesetdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39561
diff changeset
   538
        b'changesetdata': {
9c2c77c73f23 wireprotov2: define and implement "changesetdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39561
diff changeset
   539
          b'args': {
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   540
            b'fields': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   541
              b'default': set([]),
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   542
              b'required': False,
39813
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   543
              b'type': b'set',
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   544
              b'validvalues': set([
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   545
                b'bookmarks',
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   546
                b'parents',
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   547
                b'phase',
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   548
                b'revision'
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   549
              ])
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   550
            },
40176
41263df08109 wireprotov2: change how revisions are specified to changesetdata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40172
diff changeset
   551
            b'revisions': {
41263df08109 wireprotov2: change how revisions are specified to changesetdata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40172
diff changeset
   552
              b'required': True,
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   553
              b'type': b'list'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   554
            }
39630
9c2c77c73f23 wireprotov2: define and implement "changesetdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39561
diff changeset
   555
          },
9c2c77c73f23 wireprotov2: define and implement "changesetdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39561
diff changeset
   556
          b'permissions': [
9c2c77c73f23 wireprotov2: define and implement "changesetdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39561
diff changeset
   557
            b'pull'
9c2c77c73f23 wireprotov2: define and implement "changesetdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39561
diff changeset
   558
          ]
9c2c77c73f23 wireprotov2: define and implement "changesetdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39561
diff changeset
   559
        },
39639
0e03e6a44dee wireprotov2: define and implement "filedata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39637
diff changeset
   560
        b'filedata': {
0e03e6a44dee wireprotov2: define and implement "filedata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39637
diff changeset
   561
          b'args': {
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   562
            b'fields': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   563
              b'default': set([]),
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   564
              b'required': False,
39813
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   565
              b'type': b'set',
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   566
              b'validvalues': set([
40391
abbd077965c0 wireprotov2: support exposing linknode of file revisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40329
diff changeset
   567
                b'linknode',
39813
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   568
                b'parents',
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   569
                b'revision'
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   570
              ])
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   571
            },
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   572
            b'haveparents': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   573
              b'default': False,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   574
              b'required': False,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   575
              b'type': b'bool'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   576
            },
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   577
            b'nodes': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   578
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   579
              b'type': b'list'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   580
            },
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   581
            b'path': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   582
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   583
              b'type': b'bytes'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   584
            }
39639
0e03e6a44dee wireprotov2: define and implement "filedata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39637
diff changeset
   585
          },
0e03e6a44dee wireprotov2: define and implement "filedata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39637
diff changeset
   586
          b'permissions': [
0e03e6a44dee wireprotov2: define and implement "filedata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39637
diff changeset
   587
            b'pull'
0e03e6a44dee wireprotov2: define and implement "filedata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39637
diff changeset
   588
          ]
0e03e6a44dee wireprotov2: define and implement "filedata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39637
diff changeset
   589
        },
40178
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   590
        b'filesdata': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   591
          b'args': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   592
            b'fields': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   593
              b'default': set([]),
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   594
              b'required': False,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   595
              b'type': b'set',
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   596
              b'validvalues': set([
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   597
                b'firstchangeset',
40391
abbd077965c0 wireprotov2: support exposing linknode of file revisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40329
diff changeset
   598
                b'linknode',
40178
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   599
                b'parents',
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   600
                b'revision'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   601
              ])
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   602
            },
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   603
            b'haveparents': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   604
              b'default': False,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   605
              b'required': False,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   606
              b'type': b'bool'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   607
            },
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   608
            b'pathfilter': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   609
              b'default': None,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   610
              b'required': False,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   611
              b'type': b'dict'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   612
            },
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   613
            b'revisions': {
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   614
              b'required': True,
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   615
              b'type': b'list'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   616
            }
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   617
          },
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   618
          b'permissions': [
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   619
            b'pull'
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   620
          ],
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   621
          b'recommendedbatchsize': 50000
46a40bce3ae0 wireprotov2: define and implement "filesdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40176
diff changeset
   622
        },
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   623
        b'heads': {
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   624
          b'args': {
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   625
            b'publiconly': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   626
              b'default': False,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   627
              b'required': False,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   628
              b'type': b'bool'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   629
            }
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   630
          },
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   631
          b'permissions': [
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   632
            b'pull'
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   633
          ]
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   634
        },
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   635
        b'known': {
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   636
          b'args': {
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   637
            b'nodes': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   638
              b'default': [],
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   639
              b'required': False,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   640
              b'type': b'list'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   641
            }
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   642
          },
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   643
          b'permissions': [
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   644
            b'pull'
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   645
          ]
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   646
        },
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   647
        b'listkeys': {
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   648
          b'args': {
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   649
            b'namespace': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   650
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   651
              b'type': b'bytes'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   652
            }
39378
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'permissions': [
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   655
            b'pull'
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   656
          ]
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   657
        },
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   658
        b'lookup': {
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   659
          b'args': {
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   660
            b'key': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   661
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   662
              b'type': b'bytes'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   663
            }
39378
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'permissions': [
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   666
            b'pull'
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   667
          ]
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   668
        },
39637
c7a7c7e844e5 wireprotov2: define and implement "manifestdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39630
diff changeset
   669
        b'manifestdata': {
c7a7c7e844e5 wireprotov2: define and implement "manifestdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39630
diff changeset
   670
          b'args': {
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   671
            b'fields': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   672
              b'default': set([]),
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   673
              b'required': False,
39813
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   674
              b'type': b'set',
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   675
              b'validvalues': set([
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   676
                b'parents',
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   677
                b'revision'
c30faea8d02d wireprotov2: advertise set of valid values for requestable fields
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39812
diff changeset
   678
              ])
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   679
            },
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   680
            b'haveparents': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   681
              b'default': False,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   682
              b'required': False,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   683
              b'type': b'bool'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   684
            },
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   685
            b'nodes': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   686
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   687
              b'type': b'list'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   688
            },
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   689
            b'tree': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   690
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   691
              b'type': b'bytes'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   692
            }
39637
c7a7c7e844e5 wireprotov2: define and implement "manifestdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39630
diff changeset
   693
          },
c7a7c7e844e5 wireprotov2: define and implement "manifestdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39630
diff changeset
   694
          b'permissions': [
c7a7c7e844e5 wireprotov2: define and implement "manifestdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39630
diff changeset
   695
            b'pull'
40172
30f70d11c224 wireprotov2: advertise recommended batch size for requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40138
diff changeset
   696
          ],
30f70d11c224 wireprotov2: advertise recommended batch size for requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40138
diff changeset
   697
          b'recommendedbatchsize': 100000
39637
c7a7c7e844e5 wireprotov2: define and implement "manifestdata" command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39630
diff changeset
   698
        },
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   699
        b'pushkey': {
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   700
          b'args': {
39812
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   701
            b'key': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   702
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   703
              b'type': b'bytes'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   704
            },
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   705
            b'namespace': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   706
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   707
              b'type': b'bytes'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   708
            },
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   709
            b'new': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   710
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   711
              b'type': b'bytes'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   712
            },
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   713
            b'old': {
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   714
              b'required': True,
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   715
              b'type': b'bytes'
8e7e822e85ec wireprotov2: expose rich arguments metadata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39811
diff changeset
   716
            }
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   717
          },
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   718
          b'permissions': [
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   719
            b'push'
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   720
          ]
40329
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   721
        },
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   722
        b'rawstorefiledata': {
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   723
          b'args': {
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   724
            b'files': {
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   725
              b'required': True,
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   726
              b'type': b'list'
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   727
            },
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   728
            b'pathfilter': {
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   729
              b'default': None,
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   730
              b'required': False,
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   731
              b'type': b'list'
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   732
            }
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   733
          },
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   734
          b'permissions': [
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   735
            b'pull'
ed55a0077490 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40178
diff changeset
   736
          ]
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   737
        }
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   738
      },
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   739
      b'framingmediatypes': [
40133
762ef19a07e3 wireprotov2: send protocol settings frame from client
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40122
diff changeset
   740
        b'application/mercurial-exp-framing-0006'
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   741
      ],
39811
ae20f52437e9 wireprotov2: advertise recognized path filter prefixes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39810
diff changeset
   742
      b'pathfilterprefixes': set([
ae20f52437e9 wireprotov2: advertise recognized path filter prefixes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39810
diff changeset
   743
        b'path:',
ae20f52437e9 wireprotov2: advertise recognized path filter prefixes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39810
diff changeset
   744
        b'rootfilesin:'
ae20f52437e9 wireprotov2: advertise recognized path filter prefixes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39810
diff changeset
   745
      ]),
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   746
      b'rawrepoformats': [
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   747
        b'generaldelta',
40915
e64a28e2a1f2 test: enable sparse-revlog for test-wireproto-command-capabilities.t
Boris Feld <boris.feld@octobus.net>
parents: 40391
diff changeset
   748
        b'revlogv1',
e64a28e2a1f2 test: enable sparse-revlog for test-wireproto-command-capabilities.t
Boris Feld <boris.feld@octobus.net>
parents: 40391
diff changeset
   749
        b'sparserevlog'
39378
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   750
      ]
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   751
    }
0f549da54379 stringutil: teach pprint() to indent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 38021
diff changeset
   752
  ]
40034
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40017
diff changeset
   753
  (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
   754
df4985497986 wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   755
  $ cat error.log