# Functions
NewList returns a new List of capabilities.
# Constants
Agent the server may optionally send this capability to notify the client that the server is running version `X`.
AllowReachableSHA1InWant if the upload-pack server advertises this capability, fetch-pack may send "want" lines with SHA-1s that exist at the server but are not advertised by upload-pack.
AllowTipSHA1InWant if the upload-pack server advertises this capability, fetch-pack may send "want" lines with SHA-1s that exist at the server but are not advertised by upload-pack.
Atomic If the server sends this capability it is capable of accepting atomic pushes.
DeepenNot adds "deepen-not" command to fetch-pack/upload-pack protocol so the client can request shallow clones that are cut at a specific revision, instead of depth.
DeepenRelative if this capability is requested by the client, the semantics of "deepen" command is changed.
DeepenSince adds "deepen-since" command to fetch-pack/upload-pack protocol so the client can request shallow clones that are cut at a specific time, instead of depth.
No description provided by the author
DeleteRefs If the server sends back this capability, it means that it is capable of accepting a zero-id value as the target value of a reference update.
IncludeTag capability is about sending annotated tags if we are sending objects they point to.
MultiACK capability allows the server to return "ACK obj-id continue" as soon as it finds a commit that it can use as a common base, between the client's wants and the client's have set.
MultiACKDetailed is an extension of multi_ack that permits client to better understand the server's in-memory state.
NoDone should only be used with the smart HTTP protocol.
NoProgress the client was started with "git clone -q" or something, and doesn't want that side band 2.
OFSDelta server can send, and client understand PACKv2 with delta referring to its base by position in pack rather than by an obj-id.
PushCert the receive-pack server that advertises this capability is willing to accept a signed push certificate, and asks the <nonce> to be included in the push certificate.
PushOptions If the server sends this capability it is able to accept push options after the update commands have been sent, but before the packfile is streamed.
Quiet If the receive-pack server advertises this capability, it is capable of silencing human-readable progress output which otherwise may be shown when processing the received pack.
ReportStatus the receive-pack process can receive a 'report-status' capability, which tells it that the client wants a report of what happened after a packfile upload and reference update.
Shallow capability adds "deepen", "shallow" and "unshallow" commands to the fetch-pack/upload-pack protocol so clients can request shallow clones.
Sideband means that server can send, and client understand multiplexed progress reports and error info interleaved with the packfile itself.
No description provided by the author
SymRef symbolic reference support for better negotiation.
ThinPack is one with deltas which reference base objects not contained within the pack (but are known to exist at the receiving end).
# Variables
ErrArguments is returned if arguments are given with a capabilities that not supports arguments.
ErrArgumentsRequired is returned if no arguments are giving with a capability that requires arguments.
ErrEmtpyArgument is returned when an empty value is given.
ErrMultipleArguments multiple argument given to a capabilities that not support it.
# Type aliases
Capability describes a server or client capability.