@@ -785,6 +785,60 @@ retrieving the header from a bundle at the indicated URI, and thus
785785save themselves and the server(s) the request(s) needed to inspect the
786786headers of that bundle or bundles.
787787
788+ promisor-remote=<pr-infos>
789+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
790+
791+ The server may advertise some promisor remotes it is using or knows
792+ about to a client which may want to use them as its promisor remotes,
793+ instead of this repository. In this case <pr-infos> should be of the
794+ form:
795+
796+ pr-infos = pr-info | pr-infos ";" pr-info
797+
798+ pr-info = "name=" pr-name | "name=" pr-name "," "url=" pr-url
799+
800+ where `pr-name` is the urlencoded name of a promisor remote, and
801+ `pr-url` the urlencoded URL of that promisor remote.
802+
803+ In this case, if the client decides to use one or more promisor
804+ remotes the server advertised, it can reply with
805+ "promisor-remote=<pr-names>" where <pr-names> should be of the form:
806+
807+ pr-names = pr-name | pr-names ";" pr-name
808+
809+ where `pr-name` is the urlencoded name of a promisor remote the server
810+ advertised and the client accepts.
811+
812+ Note that, everywhere in this document, `pr-name` MUST be a valid
813+ remote name, and the ';' and ',' characters MUST be encoded if they
814+ appear in `pr-name` or `pr-url`.
815+
816+ If the server doesn't know any promisor remote that could be good for
817+ a client to use, or prefers a client not to use any promisor remote it
818+ uses or knows about, it shouldn't advertise the "promisor-remote"
819+ capability at all.
820+
821+ In this case, or if the client doesn't want to use any promisor remote
822+ the server advertised, the client shouldn't advertise the
823+ "promisor-remote" capability at all in its reply.
824+
825+ The "promisor.advertise" and "promisor.acceptFromServer" configuration
826+ options can be used on the server and client side to control what they
827+ advertise or accept respectively. See the documentation of these
828+ configuration options for more information.
829+
830+ Note that in the future it would be nice if the "promisor-remote"
831+ protocol capability could be used by the server, when responding to
832+ `git fetch` or `git clone`, to advertise better-connected remotes that
833+ the client can use as promisor remotes, instead of this repository, so
834+ that the client can lazily fetch objects from these other
835+ better-connected remotes. This would require the server to omit in its
836+ response the objects available on the better-connected remotes that
837+ the client has accepted. This hasn't been implemented yet though. So
838+ for now this "promisor-remote" capability is useful only when the
839+ server advertises some promisor remotes it already uses to borrow
840+ objects from.
841+
788842GIT
789843---
790844Part of the linkgit:git[1] suite
0 commit comments