ls-refs: introduce ls-refs server command
Introduce the ls-refs server command. In protocol v2, the ls-refs command is used to request the ref advertisement from the server. Since it is a command which can be requested (as opposed to mandatory in v1), a client can sent a number of parameters in its request to limit the ref advertisement based on provided ref-prefixes. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
ed10cb952d
commit
72d0ea0056
@ -168,3 +168,34 @@ printable ASCII characters except space (i.e., the byte range 32 < x <
|
||||
"git/1.8.3.1"). The agent strings are purely informative for statistics
|
||||
and debugging purposes, and MUST NOT be used to programmatically assume
|
||||
the presence or absence of particular features.
|
||||
|
||||
ls-refs
|
||||
~~~~~~~~~
|
||||
|
||||
`ls-refs` is the command used to request a reference advertisement in v2.
|
||||
Unlike the current reference advertisement, ls-refs takes in arguments
|
||||
which can be used to limit the refs sent from the server.
|
||||
|
||||
Additional features not supported in the base command will be advertised
|
||||
as the value of the command in the capability advertisement in the form
|
||||
of a space separated list of features: "<command>=<feature 1> <feature 2>"
|
||||
|
||||
ls-refs takes in the following arguments:
|
||||
|
||||
symrefs
|
||||
In addition to the object pointed by it, show the underlying ref
|
||||
pointed by it when showing a symbolic ref.
|
||||
peel
|
||||
Show peeled tags.
|
||||
ref-prefix <prefix>
|
||||
When specified, only references having a prefix matching one of
|
||||
the provided prefixes are displayed.
|
||||
|
||||
The output of ls-refs is as follows:
|
||||
|
||||
output = *ref
|
||||
flush-pkt
|
||||
ref = PKT-LINE(obj-id SP refname *(SP ref-attribute) LF)
|
||||
ref-attribute = (symref | peeled)
|
||||
symref = "symref-target:" symref-target
|
||||
peeled = "peeled:" obj-id
|
||||
|
Reference in New Issue
Block a user