Skip to content

Commit 35f5eaa

Browse files
committed
Merge branch 'jk/capabilities-doc'
* jk/capabilities-doc: document 'allow-tip-sha1-in-want' capability document 'quiet' receive-pack capability document 'agent' protocol capability docs: note that receive-pack knows side-band-64k capability docs: fix 'report-status' protocol capability thinko
2 parents 3717c73 + 4acbe91 commit 35f5eaa

File tree

1 file changed

+36
-4
lines changed

1 file changed

+36
-4
lines changed

Documentation/technical/protocol-capabilities.txt

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ was sent. Server MUST NOT ignore capabilities that client requested
1818
and server advertised. As a consequence of these rules, server MUST
1919
NOT advertise capabilities it does not understand.
2020

21-
The 'report-status' and 'delete-refs' capabilities are sent and
21+
The 'report-status', 'delete-refs', and 'quiet' capabilities are sent and
2222
recognized by the receive-pack (push to server) process.
2323

24-
The 'ofs-delta' capability is sent and recognized by both upload-pack
25-
and receive-pack protocols.
24+
The 'ofs-delta' and 'side-band-64k' capabilities are sent and recognized
25+
by both upload-pack and receive-pack protocols. The 'agent' capability
26+
may optionally be sent in both protocols.
2627

2728
All other capabilities are only recognized by the upload-pack (fetch
2829
from server) process.
@@ -123,6 +124,20 @@ Server can send, and client understand PACKv2 with delta referring to
123124
its base by position in pack rather than by an obj-id. That is, they can
124125
send/read OBJ_OFS_DELTA (aka type 6) in a packfile.
125126

127+
agent
128+
-----
129+
130+
The server may optionally send a capability of the form `agent=X` to
131+
notify the client that the server is running version `X`. The client may
132+
optionally return its own agent string by responding with an `agent=Y`
133+
capability (but it MUST NOT do so if the server did not mention the
134+
agent capability). The `X` and `Y` strings may contain any printable
135+
ASCII characters except space (i.e., the byte range 32 < x < 127), and
136+
are typically of the form "package/version" (e.g., "git/1.8.3.1"). The
137+
agent strings are purely informative for statistics and debugging
138+
purposes, and MUST NOT be used to programatically assume the presence
139+
or absence of particular features.
140+
126141
shallow
127142
-------
128143

@@ -168,7 +183,7 @@ of whether or not there are tags available.
168183
report-status
169184
-------------
170185

171-
The upload-pack process can receive a 'report-status' capability,
186+
The receive-pack process can receive a 'report-status' capability,
172187
which tells it that the client wants a report of what happened after
173188
a packfile upload and reference update. If the pushing client requests
174189
this capability, after unpacking and updating references the server
@@ -185,3 +200,20 @@ it is capable of accepting a zero-id value as the target
185200
value of a reference update. It is not sent back by the client, it
186201
simply informs the client that it can be sent zero-id values
187202
to delete references.
203+
204+
quiet
205+
-----
206+
207+
If the receive-pack server advertises the 'quiet' capability, it is
208+
capable of silencing human-readable progress output which otherwise may
209+
be shown when processing the received pack. A send-pack client should
210+
respond with the 'quiet' capability to suppress server-side progress
211+
reporting if the local progress reporting is also being suppressed
212+
(e.g., via `push -q`, or if stderr does not go to a tty).
213+
214+
allow-tip-sha1-in-want
215+
----------------------
216+
217+
If the upload-pack server advertises this capability, fetch-pack may
218+
send "want" lines with SHA-1s that exist at the server but are not
219+
advertised by upload-pack.

0 commit comments

Comments
 (0)