{i} This page is an incomplete stub. Please help improve this page by expanding it, following our wiki style guidelines.

Command names are sent over the ssh pipe as plain text, followed by a newline. Arguments are sent as [argname] [value length]\n, followed by the value. Responses are [response length]\n, followed by the response.

Example:

send:
heads
response:
41
482d3fb47d80693f929101f95944bf019009dd79

Version detection

Because older Mercurial versions give no/zero-length responses to unknown commands, you must first send the hello command followed by a command with known output, and then determine if the hello command responded before the known output was sent.


CategoryInternals