diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-05-16 12:05:22 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-05-16 12:05:22 (GMT) |
commit | 644f4a20468da89c1325a539c0521336f7835a64 (patch) | |
tree | 39ccb6b55222d659ab3d63d8b91e8ba549c360e5 /fetch-pack.h | |
parent | 97eea85a0a1ec66d356567808a1e4ca2367e0ce7 (diff) | |
parent | 477673d6f39b4829baa98ad88d6b65b35b79fd0f (diff) | |
download | git-644f4a20468da89c1325a539c0521336f7835a64.zip git-644f4a20468da89c1325a539c0521336f7835a64.tar.gz git-644f4a20468da89c1325a539c0521336f7835a64.tar.bz2 |
Merge branch 'jt/push-negotiation'
"git push" learns to discover common ancestor with the receiving
end over protocol v2.
* jt/push-negotiation:
send-pack: support push negotiation
fetch: teach independent negotiation (no packfile)
fetch-pack: refactor command and capability write
fetch-pack: refactor add_haves()
fetch-pack: refactor process_acks()
Diffstat (limited to 'fetch-pack.h')
-rw-r--r-- | fetch-pack.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/fetch-pack.h b/fetch-pack.h index f114d72..7f94a2a 100644 --- a/fetch-pack.h +++ b/fetch-pack.h @@ -5,6 +5,7 @@ #include "run-command.h" #include "protocol.h" #include "list-objects-filter-options.h" +#include "oidset.h" struct oid_array; @@ -82,6 +83,19 @@ struct ref *fetch_pack(struct fetch_pack_args *args, enum protocol_version version); /* + * Execute the --negotiate-only mode of "git fetch", adding all known common + * commits to acked_commits. + * + * In the capability advertisement that has happened prior to invoking this + * function, the "wait-for-done" capability must be present. + */ +void negotiate_using_fetch(const struct oid_array *negotiation_tips, + const struct string_list *server_options, + int stateless_rpc, + int fd[], + struct oidset *acked_commits); + +/* * Print an appropriate error message for each sought ref that wasn't * matched. Return 0 if all sought refs were matched, otherwise 1. */ |