mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
Merge branch 'bw/protocol-v2'
The beginning of the next-gen transfer protocol. * bw/protocol-v2: (35 commits) remote-curl: don't request v2 when pushing remote-curl: implement stateless-connect command http: eliminate "# service" line when using protocol v2 http: don't always add Git-Protocol header http: allow providing extra headers for http requests remote-curl: store the protocol version the server responded with remote-curl: create copy of the service name pkt-line: add packet_buf_write_len function transport-helper: introduce stateless-connect transport-helper: refactor process_connect_service transport-helper: remove name parameter connect: don't request v2 when pushing connect: refactor git_connect to only get the protocol version once fetch-pack: support shallow requests fetch-pack: perform a fetch using v2 upload-pack: introduce fetch server command push: pass ref prefixes when pushing fetch: pass ref prefixes when fetching ls-remote: pass ref prefixes when requesting a remote's refs transport: convert transport_get_remote_refs to take a list of ref prefixes ...
This commit is contained in:
18
transport.h
18
transport.h
@@ -59,6 +59,12 @@ struct transport {
|
||||
*/
|
||||
unsigned cloning : 1;
|
||||
|
||||
/*
|
||||
* Indicates that the transport is connected via a half-duplex
|
||||
* connection and should operate in stateless-rpc mode.
|
||||
*/
|
||||
unsigned stateless_rpc : 1;
|
||||
|
||||
/*
|
||||
* These strings will be passed to the {pre, post}-receive hook,
|
||||
* on the remote side, if both sides support the push options capability.
|
||||
@@ -194,7 +200,17 @@ int transport_push(struct transport *connection,
|
||||
int refspec_nr, const char **refspec, int flags,
|
||||
unsigned int * reject_reasons);
|
||||
|
||||
const struct ref *transport_get_remote_refs(struct transport *transport);
|
||||
/*
|
||||
* Retrieve refs from a remote.
|
||||
*
|
||||
* Optionally a list of ref prefixes can be provided which can be sent to the
|
||||
* server (when communicating using protocol v2) to enable it to limit the ref
|
||||
* advertisement. Since ref filtering is done on the server's end (and only
|
||||
* when using protocol v2), this can return refs which don't match the provided
|
||||
* ref_prefixes.
|
||||
*/
|
||||
const struct ref *transport_get_remote_refs(struct transport *transport,
|
||||
const struct argv_array *ref_prefixes);
|
||||
|
||||
int transport_fetch_refs(struct transport *transport, struct ref *refs);
|
||||
void transport_unlock_pack(struct transport *transport);
|
||||
|
||||
Reference in New Issue
Block a user