comparison mercurial/help/internals/wireprotocolv2.txt @ 39813:c30faea8d02d

wireprotov2: advertise set of valid values for requestable fields changesetdata, manifestdata, and filedata all allow the caller to specify what data fields to request. Data fields are extensible and may evolve over time. In order to prevent clients from making requests for fields that are not available, the client needs to know what fields are available. This commit teaches the server to declare a set of "valid values" for wire protocol command arguments. That set of values is exposed in the command's capabilities descriptor. The changesetdata, manifestdata, and filedata commands all declare their set of available "fields." Differential Revision: https://phab.mercurial-scm.org/D4619
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 17 Sep 2018 11:54:00 -0700
parents 8e7e822e85ec
children d059cb669632
comparison
equal deleted inserted replaced
39812:8e7e822e85ec 39813:c30faea8d02d
74 (boolean) Whether the argument must be specified. Failure to send 74 (boolean) Whether the argument must be specified. Failure to send
75 required arguments will result in an error executing the command. 75 required arguments will result in an error executing the command.
76 76
77 type 77 type
78 (bytestring) The type of the argument. e.g. ``bytes`` or ``bool``. 78 (bytestring) The type of the argument. e.g. ``bytes`` or ``bool``.
79
80 validvalues
81 (set) Values that are recognized for this argument. Some arguments
82 only allow a fixed set of values to be specified. These arguments
83 may advertise that set in this key. If this set is advertised and
84 a value not in this set is specified, the command should result
85 in error.
79 86
80 permissions 87 permissions
81 An array of permissions required to execute this command. 88 An array of permissions required to execute this command.
82 89
83 compression 90 compression