##// END OF EJS Templates
dispatch: don't show list of commands on bogus command...
dispatch: don't show list of commands on bogus command If a command is ambiguous, you get this: $ hg ve hg: command 've' is ambiguous: verify version [255] If you typo a command, you get this: $ hg comit hg: unknown command 'comit' (did you mean one of commit, incoming, mycommit?) [255] But if you completely mistype a command so it no longer looks like any existing commands, you get a full list of commands. That might be useful the first time you use Mercurial, but after that it's probably more annoying than help, especially if you have the pager enabled and have a short terminal. Let's instead give a short hint telling the user to run `hg help` for more help. Differential Revision: https://phab.mercurial-scm.org/D4024

File last commit:

r37743:3ea8323d default
r38810:81fb4421 default
Show More
test-wireproto-command-listkeys.t
125 lines | 4.1 KiB | text/troff | Tads3Lexer
/ tests / test-wireproto-command-listkeys.t
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 $ . $TESTDIR/wireprotohelpers.sh
$ hg init server
$ enablehttpv2 server
$ cd server
$ hg debugdrawdag << EOF
> C D
> |/
> B
> |
> A
> EOF
$ hg phase --public -r C
$ hg book -r C @
$ hg log -T '{rev}:{node} {desc}\n'
3:be0ef73c17ade3fc89dc41701eb9fc3a91b58282 D
2:26805aba1e600a82e93661149f2313866a221a7b C
1:112478962961147124edd43549aedd1a335e44bf B
0:426bada5c67598ca65036d57d9e4b64b0c1ce7a0 A
$ hg serve -p $HGPORT -d --pid-file hg.pid -E error.log
$ cat hg.pid > $DAEMON_PIDS
Request for namespaces works
$ sendhttpv2peer << EOF
> command listkeys
> namespace namespaces
> EOF
creating http peer for wire protocol version 2
sending listkeys command
s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n
s> Accept-Encoding: identity\r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 s> accept: application/mercurial-exp-framing-0005\r\n
s> content-type: application/mercurial-exp-framing-0005\r\n
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> content-length: 50\r\n
s> host: $LOCALIP:$HGPORT\r\n (glob)
s> user-agent: Mercurial debugwireproto\r\n
s> \r\n
s> *\x00\x00\x01\x00\x01\x01\x11\xa2Dargs\xa1InamespaceJnamespacesDnameHlistkeys
s> makefile('rb', None)
s> HTTP/1.1 200 OK\r\n
s> Server: testing stub value\r\n
s> Date: $HTTP_DATE$\r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 s> Content-Type: application/mercurial-exp-framing-0005\r\n
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> Transfer-Encoding: chunked\r\n
s> \r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 s> 33\r\n
s> +\x00\x00\x01\x00\x02\x012
s> \xa1FstatusBok\xa3Fphases@Ibookmarks@Jnamespaces@
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> \r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 received frame(size=43; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=eos)
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> 0\r\n
s> \r\n
Gregory Szorc
wireprotov2: decode responses to their expected types...
r37739 response: {b'bookmarks': b'', b'namespaces': b'', b'phases': b''}
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505
Request for phases works
$ sendhttpv2peer << EOF
> command listkeys
> namespace phases
> EOF
creating http peer for wire protocol version 2
sending listkeys command
s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n
s> Accept-Encoding: identity\r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 s> accept: application/mercurial-exp-framing-0005\r\n
s> content-type: application/mercurial-exp-framing-0005\r\n
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> content-length: 46\r\n
s> host: $LOCALIP:$HGPORT\r\n (glob)
s> user-agent: Mercurial debugwireproto\r\n
s> \r\n
s> &\x00\x00\x01\x00\x01\x01\x11\xa2Dargs\xa1InamespaceFphasesDnameHlistkeys
s> makefile('rb', None)
s> HTTP/1.1 200 OK\r\n
s> Server: testing stub value\r\n
s> Date: $HTTP_DATE$\r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 s> Content-Type: application/mercurial-exp-framing-0005\r\n
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> Transfer-Encoding: chunked\r\n
s> \r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 s> 50\r\n
s> H\x00\x00\x01\x00\x02\x012
s> \xa1FstatusBok\xa2JpublishingDTrueX(be0ef73c17ade3fc89dc41701eb9fc3a91b58282A1
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> \r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 received frame(size=72; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=eos)
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> 0\r\n
s> \r\n
Gregory Szorc
wireprotov2: decode responses to their expected types...
r37739 response: {b'be0ef73c17ade3fc89dc41701eb9fc3a91b58282': b'1', b'publishing': b'True'}
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505
Request for bookmarks works
$ sendhttpv2peer << EOF
> command listkeys
> namespace bookmarks
> EOF
creating http peer for wire protocol version 2
sending listkeys command
s> POST /api/exp-http-v2-0001/ro/listkeys HTTP/1.1\r\n
s> Accept-Encoding: identity\r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 s> accept: application/mercurial-exp-framing-0005\r\n
s> content-type: application/mercurial-exp-framing-0005\r\n
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> content-length: 49\r\n
s> host: $LOCALIP:$HGPORT\r\n (glob)
s> user-agent: Mercurial debugwireproto\r\n
s> \r\n
s> )\x00\x00\x01\x00\x01\x01\x11\xa2Dargs\xa1InamespaceIbookmarksDnameHlistkeys
s> makefile('rb', None)
s> HTTP/1.1 200 OK\r\n
s> Server: testing stub value\r\n
s> Date: $HTTP_DATE$\r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 s> Content-Type: application/mercurial-exp-framing-0005\r\n
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> Transfer-Encoding: chunked\r\n
s> \r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 s> 40\r\n
s> 8\x00\x00\x01\x00\x02\x012
s> \xa1FstatusBok\xa1A@X(26805aba1e600a82e93661149f2313866a221a7b
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> \r\n
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 received frame(size=56; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=eos)
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505 s> 0\r\n
s> \r\n
Gregory Szorc
wireprotov2: decode responses to their expected types...
r37739 response: {b'@': b'26805aba1e600a82e93661149f2313866a221a7b'}
Gregory Szorc
wireproto: port listkeys commands to wire protocol v2...
r37505
$ cat error.log