mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
help: internals topic for wire protocol
The Mercurial wire protocol is under-documented. This includes a lack of source docstrings and comments as well as pages on the official wiki. This patch adds the beginnings of "internals" documentation on the wire protocol. The documentation should have nearly complete coverage on the lower-level parts of the protocol, such as the different transport mechanims, how commands and arguments are sent, capabilities, and, of course, the commands themselves. As part of writing this documentation, I discovered a number of deficiencies in the protocol and bugs in the implementation. I've started sending patches for some of the issues. I hope to send a lot more. This patch starts with the scaffolding for a new internals page.
This commit is contained in:
parent
23829625a1
commit
5c136c2209
@ -42,6 +42,7 @@
|
||||
<File Id="internals.changegroups.txt" Name="changegroups.txt" />
|
||||
<File Id="internals.requirements.txt" Name="requirements.txt" />
|
||||
<File Id="internals.revlogs.txt" Name="revlogs.txt" />
|
||||
<File Id="internals.wireprotocol.txt" Name="wireprotocol.txt" />
|
||||
</Component>
|
||||
</Directory>
|
||||
|
||||
|
@ -192,6 +192,8 @@ internalstable = sorted([
|
||||
loaddoc('requirements', subdir='internals')),
|
||||
(['revlogs'], _('Revision Logs'),
|
||||
loaddoc('revlogs', subdir='internals')),
|
||||
(['wireprotocol'], _('Wire Protocol'),
|
||||
loaddoc('wireprotocol', subdir='internals')),
|
||||
])
|
||||
|
||||
def internalshelp(ui):
|
||||
|
11
mercurial/help/internals/wireprotocol.txt
Normal file
11
mercurial/help/internals/wireprotocol.txt
Normal file
@ -0,0 +1,11 @@
|
||||
The Mercurial wire protocol is a request-response based protocol
|
||||
with multiple wire representations.
|
||||
|
||||
Each request is modeled as a command name, a dictionary of arguments, and
|
||||
optional raw input. Command arguments and their types are intrinsic
|
||||
properties of commands. So is the response type of the command. This means
|
||||
clients can't always send arbitrary arguments to servers and servers can't
|
||||
return multiple response types.
|
||||
|
||||
The protocol is synchronous and does not support multiplexing (concurrent
|
||||
commands).
|
@ -933,6 +933,7 @@ internals topic renders index of available sub-topics
|
||||
changegroups Changegroups
|
||||
requirements Repository Requirements
|
||||
revlogs Revision Logs
|
||||
wireprotocol Wire Protocol
|
||||
|
||||
sub-topics can be accessed
|
||||
|
||||
@ -2895,6 +2896,13 @@ Sub-topic indexes rendered properly
|
||||
</td><td>
|
||||
Revision Logs
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
<a href="/help/internals.wireprotocol">
|
||||
wireprotocol
|
||||
</a>
|
||||
</td><td>
|
||||
Wire Protocol
|
||||
</td></tr>
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user